【问题标题】:jQuery hide() not working (IE9)jQuery hide() 不工作 (IE9)
【发布时间】:2012-01-17 09:51:04
【问题描述】:

我正在制作一个 div,它应该在页面加载时隐藏,然后在用户单击链接后可见。下面的代码适用于 FF / IE7 / IE8 但不适用于 IE9,其中 div 始终可见(没有内容)。提前致谢!

<script>
  $(document).ready(function() {
      $('#translateBoxen').hide();
      $('#translateToggle').click(function() {
         $('#translateBoxen').toggle(400);
         return false;
      });
  });
</script> // This is the jQuery code to hide and toggle the div //

<div style="width:200px;height:100px;position:absolute;"> // Just a holder that's needed for the site
  <a class="vitxtext" style="font-size:10px;" id="translateToggle" href="#">
      Translate
  </a>
  <div style="clear:both;"></div>
  <div id="translateBoxen">
       // BOX CONTENT //
  </div>
</div>

【问题讨论】:

  • 您是否检查过浏览器的错误控制台(IE9 中的 F12)。这很可能是由于在 hide() 调用之前发生的某行代码中的错误。其次,如果您打算将其隐藏在 dom ready 上,您不妨在 CSS 中将 is display 属性设置为 none,以避免加载时出现任何跳跃。
  • 如果我将显示设置为无,当我通过 jQuery 使用切换命令时,div 是否仍会弹出?顺便说一句,代码现在可以工作了,我使用的是 IE9 模拟器,呵呵,但它在真正的 IE9 中工作
  • jsfiddle.net/CEGCs 这适用于 IE9。
  • 是的,当你通过 jQuery 切换()时它仍然会弹出,即使你将它设置为 display:none 从你的 CSS。
  • 检查您的文档是否处于 quirk 模式。

标签: javascript jquery internet-explorer-9 hide


【解决方案1】:

为什么不用 CSS 隐藏 &lt;div&gt; 呢?只需在您的 CSS 中设置为 display:none,然后当第一次单击切换链接时,它应该会显示出来。

toggle() 没有理由不能在 IE9 中运行,您是否遇到任何脚本错误?

【讨论】:

  • 你在使用 jQuery 2+ 吗?
【解决方案2】:

聚会迟到了,但尝试使用display:none 制作.hidden 类,然后通过放置addClass('hidden')removeClass('hidden') 而不是显示/隐藏来隐藏/显示。

【讨论】:

    猜你喜欢
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    相关资源
    最近更新 更多