3

よくある質問のページを作成したいと思い、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も表示されます。

4

3 に答える 3

19

2 つの要素が機能するには、同じレベルではありませんnext()

これを試して:

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

参照用に更新されたフィドルを次に示します。

于 2013-10-27T22:18:20.707 に答える
3

は兄弟を取得するためjQuery.next()、取得しようとしている div は親の兄弟であり、兄弟ではありません。

于 2013-10-27T22:18:19.927 に答える
2

$(this) は a 要素であり、その要素に兄弟はありません。div が必要な場合は、parent を使用します。

$(this).parent().next()
于 2013-10-27T22:18:53.153 に答える