您可以委托click
处理程序(可能是更好的解决方案),或者在创建行时简单地分配它。下面的示例(使用 DOM 元素创建,而不是 HTML 标记,因为这是一种更好的做法)。
// delegate the function once in your DOM.ready
$('#giants_table tr').on('click', 'input[type="button"][value="Remove Row"]', function (e) {
$(this).parents('tr').remove(); // this will point to the input
});
// or assign it when you create the row
function add_row(){
var input = $('<input />'), //create new DOM elements
row = $('<tr />'),
cell = $('<td />'),
rowCount = $('#giants_table tr').length;
$('#giants_table tr:last').before(tr.append(td.append(input.clone().attr({
"id": "giants_" + rowCount,
"name": "giants_" + rowCount,
"type": "text"
})).append(input.clone().attr({
"id": "removeRow" + rowCount,
"type": "button",
"value": "Remove Row"
}).click(function (e) {
$(this).parents('tr').remove(); // this now points to the input
}))));
}