1

返信オプション付きのコメントのリストがあります。返信ボタンをクリックすると、コメントの下にフォームが表示されます。

HTML:

<div id="" class="comment">
    <div class="comment-message">Message
        <div class="information"> 
            <a id="" class="comment-reply" href="/comments/reply/"> Reply </a>
        </div>
    </div>
</div>
<div class="test">Test</div>

CSS:

.test{display:none;}

jQuery:

 $('.comment-reply').live("click", function(e) {
    e.preventDefault();
    $this = $(this);
    $this.closest('.test').toggle();
});

私は以下を使用してみました:

$this.closest('.test').toggle();

これに関するどんな助けでも大いに感謝されるでしょう、ありがとう。

4

2 に答える 2

3

HTML構造が同じ場合は、以下を試すことができます。

$(this).closest('.comment').next().toggle()

Replyセクションとtestthenの間にいくつかの要素がある場合に使用します.nextAll

$(this).closest('.comment').nextAll('.test').toggle()
于 2012-09-25T16:05:18.990 に答える
1

これを試して:

クラスのコメントだけでなく、他の最も近い要素がある場合は.test、次のことを実行して正しい要素を取得することを確認する必要があります。

$(this).closest('.comment').next('.test').toggle();
于 2012-09-25T16:07:53.327 に答える