【问题标题】:jQuery hide/show div working in Opera and Chrome but not IE/FirefoxjQuery 隐藏/显示 div 在 Opera 和 Chrome 中工作,但不适用于 IE/Firefox
【发布时间】:2011-01-25 02:29:09
【问题描述】:

大家好,下面的 jQuery 代码 sn-p 似乎在 Google Chrome 和 Opera 中运行良好,但是当我尝试在 Internet Explorer 或 Firefox 中隐藏/显示相关的 div 时没有任何反应。有什么想法吗?

$(function() {
  $(".paste-meta-small .right a.collapse").click(function(event) {
    $(this).parents(".paste-meta-small").next(".highlight").toggle(500);
    $(this).text($(this).text() == 'show' ? 'hide' : 'show');
    event.preventDefault();
  })
})

$(function() {
  $(".highlight-meta a.blog-collapse").click(function(event) {
    $(this).parents(".highlight-meta").next(".blog-highlight").toggle(500);
    $(this).text($(this).text() == 'show' ? 'hide' : 'show');
    var margin = ($(this).text() == "show" ? "15px" : "0");
    $(this).parents(".highlight-meta").css("margin-bottom", margin);   
    event.preventDefault();
  })
})

可以在here找到一个工作示例

提前致谢

【问题讨论】:

  • 你的 HTML 是什么样的? (我不明白我应该在你链接的页面中看到什么。)
  • 你试过使用console.log()吗?这样你就可以看到卡在哪里了。
  • @Pointy - 那页面,也花了我一分钟。
  • 是的,对不起,我应该指出这一点并且更清楚一点。

标签: jquery firefox internet-explorer


【解决方案1】:

您的问题出在顶部的脚本标记中:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" />
<script src="/js/injekt.js" type="text/javascript"></script>

第二个标签在其他浏览器中没有加载,&lt;script&gt; 标签总是需要一个结束标签,它们不能自闭:

<script></script> //Valid
<script /> //Invalid

把第一个标签改成这个,让它工作:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

【讨论】:

  • 啊,谢谢!我真傻。这里的第一个问题几乎在瞬间得到了回答。惊人的!再次感谢
  • @injekt - 欢迎!欢迎来到 SO!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-15
  • 2018-12-13
  • 1970-01-01
  • 2013-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多