1

コードは次のとおりです。http://jsfiddle.net/xcmtD/2/

テーブルを動的に作成しています。行を追加するには、ボタンをクリックします。フィールドの 1 つに「削除」クラスがあります。

ユーザーがクリックした場合にそのフィールドを使用して行を削除したいのですが、機能せず、理由がわかりません。

html:

<table id="table">
    <tr><td>Row 1</td><td class='remove'>Row 2</td></tr>
</table>

<input type="button" id="button" value="add">

JavaScript (jQuery):

$("#button").click(function(){
    $("#table").append("<tr><td>Added</td><td class='remove'>Remove</td></tr>");
});

$(".remove").click(function(){
    alert("Removed!");
});
4

2 に答える 2

6

これは、バインディングを行うとき、要素がまだ存在していないためです。

委任を使用して、クリック時にセレクターが動的にテストされるようにします。

$('#table').on('click', '.remove', function(){
     alert("Removed!");
});
于 2013-11-01T18:43:08.507 に答える
0

委任については、ライブラリを確認してください。jquery 1.7.3まで、関数は

$('#table').live('click', '.remove', function(){
     alert("Removed!");
});

その後

$('#table').live('click', '.remove', function(){
     alert("Removed!");
});
于 2013-11-01T18:54:48.210 に答える