我有一個簡單的html表,我想要刪除和動態添加行。該html表有一個刪除圖標,通過點擊它一個jquery腳本刪除該行。爲表
代碼:jquery添加/刪除html行
<table id="table1"><tr><td>
<img class="delete" alt="delete" src="delete_icon.png" />
</td></tr></table>
的鏈接添加一個新行:
<a href="#" name="addRow">Add Row</a>
HTML表格上面的代碼都jQuery的腳本:
<script type="text/javascript">
/* delete row */
$(document).ready(function() {
$('#table1 td img.delete').click(function() {
$(this).parent().parent().remove();
});
});
/* add new row */
$(document).ready(function() {
// Code between here will only run when the document is ready
$("a[name=addRow]").click(function() {
// Code between here will only run when the a link is clicked and has a name of addRow
$("table#table1 tr:last").after('<tr><td><img class="delete" alt="delete" src="@Url.Content("~/content/delete_icon.png")" /></td></tr>');
return false;
});
});
</script>
的問題如下:刪除和插入操作都起作用。但是,當我添加一個新行並嘗試刪除此行時,沒有任何反應。我只能刪除已經存在的行,jquery腳本不適用於新添加的行。
有什麼想法?
謝謝,這似乎是問題所在。我是jquery的新手,你能告訴我如何將點擊處理程序綁定到這個例子中的新元素?謝謝! – kmb 2011-03-27 20:26:22
@kmb:如果您替換'.click(''by'.live(「click」,'它應該可以工作,但它不是最有效的解決方案,因爲它必須檢查每個點擊事件,不管它發生在哪裏;使用'.delegate'(請參閱我鏈接到的文檔),您可以限制它在表格內單擊。 – balpha 2011-03-27 20:28:39