0

.append()テーブルに新しい行を追加するために使用したい。ただし、class="addRowDemo3"class="removeRowDemo3"は付加されません。理由のアイデアはありますか?

$('.addRowDemo3').click(function(){
    $('#Demo3 > tbody:last').append('<tr><td>Google</td><td>12.3</td><td>14.5</td><td>17.3</td><td>20.2</td><td><button class="addRowDemo3">Add a row</button><button class="removeRowDemo3">Remove a row</button></td></tr>');
});
4

2 に答える 2

5

正しいクラスの行を追加および削除するボタンを追加する必要があります。ただし、イベントは新しい要素にバインドされていません。

$('selector').click(function(){}) を使用すると、DOM で現在使用可能で、セレクターによって一致する要素のみがイベント ハンドラーにバインドされます。

将来の要素については、jQuery "on" を使用してみてください。

これを試して

$('#Demo3').on('click', '.addRowDemo3', function(){
    $('#Demo3 > tbody:last').append('<tr><td>Google</td><td>12.3</td><td>14.5</td><td>17.3</td><td>20.2</td><td><button class="addRowDemo3">Add a row</button><button class="removeRowDemo3">Remove a row</button></td></tr>');
});

このようにして、イベントを「#Demo3」に委譲します。「.addRowDemo3」をクリックするたびに、新しく追加されたか既存のものかを問わず、イベントが「#Demo3」までバブルし、関数が実行されます

参照: http://api.jquery.com/on/

于 2012-08-27T21:16:53.657 に答える
0

私にとってはうまくいくように見えますが、コードの違いは何ですか?

http://jsfiddle.net/CV3kp/

これは、labroo と daedalus が提案する on を使用したバージョンであり、おそらく実際に必要なものです

http://jsfiddle.net/HWRhX/1/

于 2012-08-27T21:23:49.800 に答える