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

时间:2013-10-27 22:15:45

标签: javascript jquery find element next

我想为常见问题解答创建一个页面,并使用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

3 个答案:

答案 0 :(得分:19)

next()工作的两个元素不在同一级别。

试试这个:

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

以下是updated fiddle供您参考

答案 1 :(得分:3)

因为jQuery.next()抓住了兄弟姐妹,你想要得到的div是父母的兄弟姐妹,而不是兄弟姐妹。

答案 2 :(得分:2)

好的(这个)是a元素,并且该元素没有兄弟。如果你想要div,请使用parent:

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