【问题标题】:jQuery .hide() not working in IEjQuery .hide() 在 IE 中不起作用
【发布时间】:2010-08-28 00:05:05
【问题描述】:

我有一些通过 CSS 隐藏的 span 元素(显示:无;)。当页面加载时,我希望第一个 span 元素显示在除 IE7 之外的所有浏览器中似乎都是这种情况。任何人都知道为什么会发生这种情况?没有任何疯狂的代码会导致此问题,它只是无法正常工作。

jQuery v1.4.2

<script type="text/javascript">
    $(document).ready(function() { 
        $('span.player').hide();
        $('span.player:first').show();
    });
</script>

<span class="player" style="display: none;">Player embed code</span>
<span class="player" style="display: none;">Player embed code 2</span>

谢谢, 杰克

【问题讨论】:

  • 你能把代码分享给我们吗?
  • 我已经用代码更新了问题。
  • 那不是。之后您对其进行了编辑,并且您没有将它包含在脚本元素中。发布其中的部分内容并不能告诉我们整个故事,这让我们很难提供帮助。
  • 如果“player embed code”是&lt;object&gt;&lt;embed&gt;标签,它不应该在SPAN中,它需要在像&lt;p&gt;&lt;div&gt;这样的块元素中标记。
  • 我用 div 替换了 span,但它似乎仍然无法正常工作。 :(

标签: jquery css xhtml


【解决方案1】:

根据您的完整代码,代码正确地隐藏了元素并显示了第一个元素。

http://jsfiddle.net/LBjQD/5/

【讨论】:

    【解决方案2】:

    如果您通过样式表而不是通过元素上的样式属性隐藏了这些元素,那就是问题所在。

    【讨论】:

    • 我最初在样式表中有 hidden 属性,但现在代码在上面但仍然无法正常工作:)
    【解决方案3】:

    如果不向我们展示完整的源代码,就很难知道您的问题是什么,而且我们不得不进行随机猜测。据我所知,该代码是完全有效的,并且它在其他浏览器中工作的事实意味着您可能正确地包含了所有内容。所以这有点令人困惑。

    如果您还没有的话,我会先包含一个 DOCTYPE。 IE 可能处于 quirks 模式,这种情况很少见。

    另外,您是否在页面上使用原型以及 jQuery?这可能是 $ 冲突,在这种情况下,您需要以非冲突方式调用 jquery,例如:

    jQuery(document)....
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多