【问题标题】:jQuery maintaining display inline with div show/hidejQuery 保持与 div 显示/隐藏内联的显示
【发布时间】:2012-04-17 21:58:19
【问题描述】:

我有一个要显示的 CSS 的 div:inline;

但是,当我使用 jQuery 显示/隐藏时,它会将其更改为阻止/无。

当 jQuery 显示它时,如何防止这种情况并保持显示内联?

【问题讨论】:

  • 你不能用.css('display', 'inline')代替show()吗?
  • 也许你可以使用类和使用 jquery 切换
  • @AymanSafadi 可能只是在寻找这种方法的解决方案!

标签: jquery


【解决方案1】:

你不能afaik。

但你可以做的就是使用

$('.your-element).css({'display':'inline'});

代替 .show()。

.hide() 仍然可以照常使用。 目前想不出什么聪明的办法。

【讨论】:

    【解决方案2】:

    @benhowdle89 看来这已经可以用 jQuery 来实现了。你用的是什么版本?

    【讨论】:

    • 没关系,这个功能在 1.0 就已经存在了。
    【解决方案3】:

    根据 jQuery docs:

    如果一个元素的显示值为inline,则隐藏并显示, 它将再次内联显示。

    还有其他事情吗?

    演示:http://jsfiddle.net/jtbowden/JdJFJ/

    这里是源代码sn-p:

    if ( display !== "none" && !jQuery._data( elem, "olddisplay" ) ) {
        jQuery._data( elem, "olddisplay", display );
    }
    

    基本上,它将原始display 存储在内部数据中,在show() 上恢复。类似但不同的代码在 jQuery 1.0 中一直存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多