0

私のコードでは jquery next() が機能しません。私のhtmlコードは

 <a class="reply">Reply</a> 
 <div class="respond" style="display:none;">respond 1</div>      
 <a class="reply">Reply</a>
 <div class="respond" style="display:none;">respond  2</div> 
 <a class="reply">Reply</a> <
 div class="respond" style="display:none;">respond  2</div>

私のjqueryコードは

$('.reply').click(function(e){
      e.preventDefault();
      $(this).next().show();
});

しかし、それは機能していません。解決策を教えてください

4

1 に答える 1

2

実行順序は重要です。要素を定義するために jQuery コードが HTML の前にある場合、それらの要素が存在する前にコードが実行されるため、イベント ハンドラーは実際にはバインドされません。このような場合、jQuery.ready()関数を使用して DOM Ready イベントのイベント ハンドラーをバインドする必要があります。これにより、イベント ハンドラーがバインドされているときに要素が存在することが保証されます。

$(document).ready(function() {
    $('.reply').click(function(e){
        e.preventDefault();
        $(this).next().show();
    });
});
于 2012-08-10T08:10:52.970 に答える