简单的 jquery $(this).next() 在 IE 中没有表现
Posted
技术标签:
【中文标题】简单的 jquery $(this).next() 在 IE 中没有表现【英文标题】:simple jquery $(this).next() not behaving in IE 【发布时间】:2011-09-28 22:20:38 【问题描述】:我有这个标记
<h2>Title</h2>
<div class="info-content">
<p>some code in here too</p>
</div>
还有这个 jquery
(function($)
$(".info-content").hide();
$("h2").click(function()
$(this).next().slideToggle("normal");
);
)(jQuery);
在除 IE6+ 之外的任何浏览器中,都会切换 .info 内容的打开和关闭。
任何想法为什么这在 IE 中不起作用?我假设它很简单,但我已经尝试了一段时间了。
任何帮助都会很棒,
谢谢。
【问题讨论】:
【参考方案1】:next()
可能正在返回一个文本节点。
试试$(this).nextAll("p:first")
【讨论】:
准确! $(this).nextAll(".info-content") 工作得很好。非常感谢@SLaks【参考方案2】:或者你可以这样做
$(this).find('info-content').slideToggle("normal);
【讨论】:
在这里挖掘一个相当老的问题,但这肯定会切换所有.info-content
元素? next
只捕获 DOM 中的以下元素(如果我没记错的话)。不过感谢您的回复!以上是关于简单的 jquery $(this).next() 在 IE 中没有表现的主要内容,如果未能解决你的问题,请参考以下文章
jQuery“ $ variable”与javascript“ var” 简单变量声明的困惑