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