为什么jQuery next找不到下一个div?

h43kikqp  于 2023-06-22  发布在  jQuery
关注(0)|答案(3)|浏览(118)

我想创建一个FAQ页面,并使用jQuery来显示每个答案。但它不起作用。
每个问答的格式是这样的:

<div><a href="javascript:void(0)" class="expand">First Question</a></div>
<div class="answer" style="display:none">First Answer</div>

我使用的jQuery代码是:

$(".expand").click(function(){
    $(this).next('.answer').slideToggle();
});

这是错的吗?你也可以看到它的jsFiddle

daupos2t

daupos2t1#

对于next()来说,这两个元素不在同一级别。
试试这个:

$(".expand").click(function(){
    $(this).parent().next('.answer').slideToggle();
});

这里有一个updated fiddle供您参考

kx1ctssn

kx1ctssn2#

因为jQuery.next()获取同级,所以您尝试获取的div是父级的同级,而不是同级。

aoyhnmkz

aoyhnmkz3#

$(this)是a元素,并且该元素没有兄弟。如果你需要div,使用parent:

$(this).parent().next()

相关问题