0

下面是我的代码。最后一点代码是不起作用的部分。

我正在使用 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();
});
4

1 回答 1

2

在动态元素上,您需要委托事件处理程序:

$('#cartData').on('click', '.cartItem', function () {
    $(this).remove();
});
于 2013-03-02T00:25:35.497 回答