我在IE8中遇到一个问题,只有链接应该在点击时显示/隐藏内容。 IE7和webkit和gecko浏览器工作正常,只有IE8才是问题!我看不出我的代码出了什么问题,甚至只是尝试show()而不是toggle()没有任何影响 - 我在这里错过了什么?谢谢你的帮助!
//hide class=hidden elements
$('.hidden').hide();
$('a#hide').live("click", function(){
$(this).parent().siblings(".hidden:first").toggle();
return false;
});
以上js适用于以下html:
<a href="#hidden" id="hide">Click to show</a></p>
<p id = "hidden" class = "hidden">
my content
</p>
答案 0 :(得分:0)
从技术上讲,您的脚本不仅在IE8中起作用,而且在任何其他浏览器中都不起作用。然后,它的1年后,更新的jQuery出来了。
但是后来更好,从来没有,这是我的回答:
现场演示:http://jsfiddle.net/hobobne/Vnasb/2/
在我的现场演示中,我删除了不必要的东西并重新格式化了一点。我仍然保留:first
参数,因为这是一个很好的例子。我还将包含您自己的代码,只是有效。请注意,在您的代码中,有一个多余的</p>
<强>脚本:强>
$('.hidden').hide();
$('a#hide').live("click", function(){
$('.hidden').toggle();
return false;
});
<强>体:强>
<a href="#hidden" id="hide">Click to show</a></p>
<p id = "hidden" class = "hidden">
my content
</p>
我不确定,你们是如何在“过去的日子”里做的事情,但是[...].parent().siblings(".hidden:first")[...]
是有问题的部分。
旁注:当点击触发元素时,脚本是否意味着自动滚动到#hidden
的视点?使用<a href="#hidden" ...
?当你在jQuery函数中返回false
时,这是行不通的。
PS:经过测试 IE9 , IE8 , IE7 ,当然还有 FF - 效果很好。