下面是我的代码。 最后一段代码是无效的部分。
我正在使用jQuery来填充对象数组中的数据表:
// loop to populate table data
for (var i =0; i <= numItems-1; i++) {
var newItem = '<tr id="item_' + (i+1) + '"><td>' + items[i].name +
'</td>' + '<td>$' + items[i].price + '</td>' + '<td>' + items[i].category +
'</td>' + '<td>' + items[i].type + '</td>' + '<td>' + items[i].modelNumber +
'</td></tr>';
$('#itemData').append(newItem);
};
然后,我告诉jQuery克隆已单击的元素,向元素添加一个类(cartItem),以便稍后如果用户单击它就可以删除它。我把它放在另一个ID为cartData的元素中 (我不确定我是否以有效的方式这样做)
for (var i=0; i<= numItems-1; i++) {
$('#itemData #item_' + (i+1)).click(function () {
$(this).clone().addClass('cartItem').appendTo('#cartData');
});
};
我正在使用此代码删除元素。
$('.cartItem').click(function () {
$(this).remove();
});
答案 0 :(得分:2)
在动态元素上,您需要委托事件处理程序:
$('#cartData').on('click', '.cartItem', function () {
$(this).remove();
});