我有一个表,它是动态创建的。当我点击图像然后我需要删除表格行。在这里点击功能不起作用。
动态创建表格。
row.append($("<td id="imageclose"><p>" + '<img src="' + '/Content/Images/crossimg.png' + '" width:"225px" height:"225px" />' + "</p></td>"));
单击“功能”
$("#imgclose").click(function () {
alert("asdfg");
});
答案 0 :(得分:2)
使用类imageclose
代替id
,如下所示。因为id
对每个元素都应该是唯一的。
row.append($("<td class="imageclose"><p>" + '<img src="' + '/Content/Images/crossimg.png' + '" width:"225px" height:"225px" />' + "</p></td>"));
动态生成的元素需要事件delegation。
$('body').on('click', '.imgclose img', function () {
$(this).closest('tr').remove();
});
答案 1 :(得分:1)
您不能使用&#39; ID&#39;因为它应该是独一无二的。因此,而不是使用ID来使用类来完成您的任务。
使用onclick
调用函数第一种方式。
row.append($("<td><p>" + '<img src="' + '/Content/Images/crossimg.png' + '" width:"225px" height:"225px" onclick="abc()" />' + "</p></td>"));
function abc() {
$(this).closest('tr').remove();
}
使用class属性第二种方式。
row.append($("<td><p>" + '<img class="myclass" src="' + '/Content/Images/crossimg.png' + '" width:"225px" height:"225px" />' + "</p></td>"));
$('#tableId').on('click', '.myclass', function () {
$(this).closest('tr').remove();
});