【问题标题】:simple jquery $(this).next() not behaving in IE简单的 jquery $(this).next() 在 IE 中没有表现
【发布时间】:2024-01-03 17:25:02
【问题描述】:

我有这个标记

<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 中不起作用?我假设它很简单,但我已经尝试了一段时间了。

任何帮助都会很棒,

谢谢。

【问题讨论】:

    标签: jquery jquery-selectors this slidetoggle


    【解决方案1】:

    next() 可能正在返回一个文本节点。

    试试$(this).nextAll("p:first")

    【讨论】:

    • 准确! $(this).nextAll(".info-content") 工作得很好。非常感谢@SLaks
    【解决方案2】:

    或者你可以这样做

    $(this).find('info-content').slideToggle("normal);
    

    【讨论】:

    • 在这里挖掘一个相当老的问题,但这肯定会切换所有.info-content 元素? next 只捕获 DOM 中的以下元素(如果我没记错的话)。不过感谢您的回复!
    最近更新 更多