-3

動的に挿入されるdivで関数toggleを使用していますが、特定の要素のみを実行する代わりに、toggleはすべてのdivコンテンツを実行します。

HTML:

<div style="text-align: center;">
    <p class="button-style add-comment"><a href="#">Add Comment</a></p>
    <div class="insert-comment" style="display: none;">
        <textarea rows="8" cols="50" class="insert-comment-text"></textarea>
    </div>
</div>

jQuery:

$(document).on('click', '.add-comment', function(e){
    $(".insert-comment").toggle(); 
});

すべてではなく特定のdivだけを開くにはどうすればよいですか?

4

4 に答える 4

0

おそらくこれはあなたが必要なものですか?

$(this).next(".insert-comment").toggle();

実際、クラスを持つすべての要素のadd-comment後に、切り替える必要のあるdivが常に続く場合、2番目のセレクターは速度を低下させます。

$(document).on('click', '.add-comment', function(e){
    $(this).next().toggle();
});
于 2012-11-18T13:26:46.760 に答える
0

このように、コードを比較的変更するだけです。

$(document).on('click', '.add-comment', function(e){
    $(this).next().toggle();
});

または、より具体的には、次のことを試してください。

$(document).on('click', '.add-comment', function(e){
    $(this).next(".insert-comment").toggle();
});
于 2012-11-18T13:26:55.127 に答える
0

次のdivだけを開きたいと思います。もしそうなら、代わりに

 $(".insert-comment").toggle();

使用する

 $(this).next("div.insert-comment").toggle();
于 2012-11-18T13:28:06.970 に答える
0

タグの「切り替え」を開始するためのリンクを追加してから、<a>以下のコードを使用します。

JavaScript:

$(".add-comment").onClick(function(){
    $(".insert-comment").toggle();
});

HTML:

<div style="text-align: center;">
    <p class="button-style"><a href="#" class="add-comment">Add Comment</a></p>
    <div class="insert-comment" style="display: none;">
        <textarea rows="8" cols="50" class="insert-comment-text"></textarea>
    </div>
</div>
于 2012-11-18T13:28:47.350 に答える