0

ページにこれらの複数があり、各領域内の「コメントボックス」のみをスライドトグルしたい(つまり、最初に見つかったもの)。

<div class="comments">
<a style="cursor:pointer" onclick="jQuery('.comments-box').slideToggle();">comments</a></span>
        <div class="add-comment">add</div>
        <div class="response-form"></div>
        <div class="comments-box">
         a bunch of comments
        </div>
</div>

ただし、それは明らかにすべての「コメントボックス」を切り替えます。

私は試してみましonclick="jQuery($(this).next('.comments-box')).slideToggle();"たが、運がありません。

4

3 に答える 3

0

マークアップを変更し、インライン JavaScript を削除して、href をアンカーに追加します。

<div class="comments">
    <span><a href="#">comments</a></span>
    <div class="add-comment">add</div>
    <div class="response-form"></div>
    <div class="comments-box">
         a bunch of comments
    </div>
</div>

次に、これを実行して、各コメント ボックスを上下にスライドさせます。

$(function() {
    $('.comments a').on('click', function(e) {
        e.preventDefault();
        $(this).closest('.comments').find('.comments-box').slideToggle();
    });
});

編集:

インラインで行う:

<a onclick="jQuery(this).closest('.comments').find('.comments-box').slideToggle();">comments</a>
于 2013-07-29T06:21:51.017 に答える