我模擬表用下面的代碼:刪除動態添加的div與子女元素
<div id="edit_table">
<div class="table_row">
<div class="table_cell">
<input type="text" id="Dt_of_Birth">
</div>
<div class="table_cell">
<input type="text" id="F_Name">
</div>
<div class="table_cell">
<input type="text" id="L_Name">
</div>
<div class="table_cell">
<button id="del_row">Delete Row</button>
</div>
</div>
</div>
<button id="add_row">Add Row</button>
,並在此表中動態地
$('#add_row').on('click', function() {
$('.table_row:last').append('<div class="table_row"><div class="table_cell"><input type="text" id="Dt_of_Birth"></div><div class="table_cell"><input type="text" id="F_Name"></div><div class="table_cell"><input type="text" id="L_Name"></div><div class="table_cell"><button id="del_row">Delete Row</button> </div></div>');
});
添加行。當我試圖刪除一行,點擊行中的刪除按鈕,它的行爲不正常。如果有下面的行點擊'刪除'按鈕,則所有這些行向下都會被刪除。我該如何阻止並刪除只點擊該按鈕的那一行。
我刪除特定行的代碼是:
$(document).on('click', '#del_row', function() {
alert('Delete button clicked ....');
$(this).parent().parent('div .table_row').remove();
});
- 這當然不能正常工作。
請幫我正確的jQuery的邏輯特定行的缺失
在此先感謝您的幫助....
你DELET e按鈕ID不唯一。如果你有多個這些按鈕,那麼jQuery只會選擇其中的一個。可能是頁面中的第一個,但Javascript DOM API不作任何保證。 – Draco18s
在這部分:'$(document).on('click','#del_row',function(){'將文檔改爲'.table_row'。 –
Draco 18s正確地指出了這一點。 –