私のhtmlには、このような構造のテーブルが含まれています
<table id="sample">
<tr class="new_input_field">
<td><input type="text" class="first_input" /></td>
<td><input type="text" class="second_input" /></td>
<td><a href="#" class="first_link">Button1</td>
<td><a href="#" class="second_link">Button2</td>
</tr><tr class="new_input_field">
<td><input type="text" class="first_input" /></td>
<td><input type="text" class="second_input" /></td>
<td><a href="#" class="first_link">Button1</td>
<td><a href="#" class="second_link">Button2</td>
</tr>
<tr class="new_input_field">
<td><input type="text" class="first_input" /></td>
<td><input type="text" class="second_input" /></td>
<td><a href="#" class="first_link">Button1</td>
<td><a href="#" class="second_link">Button2</td>
</tr>
</table>
そして、私のjqueryの各行について、first_inputとsecond_inputの値の変更の値がサーバーへの呼び出しをトリガーし、その行はこのように置き換えられます。
<tr id="AIK">
<td>some content</td>
<td>some other content</td>
<td><a href="#" class="first_link">Button1</td>
<td><a href="#" class="second_link">Button1</td>
</tr>
私の問題は、動的に置き換えられた行のボタンをクリックするとアラートが表示されるはずです。私はjqueryを与えました
$('#sample tr td a.first_link').click(function () {
trid = $(this).closest('tr').attr('id');
if(trid.length > 0) { alert("Swap out will come soon"); }
});
これは、新しく置き換えられた行に対しては正常に機能し、残りの 2 つの行で次のようにエラーが表示されます。
TypeError: Result of expression 'trid' [undefined] is not an object.
ボタンは、新しく置き換えられた行に対してのみ有効にする必要があります。どうすればこれを解決できますか?