JQuery动态添加表格,然后动态删除不成功问题

背景:

自己做了一个测试网页,想动态添加表格,然后删除,按照网上的教程写完,发现点击"删除参数"按钮没用

JQuery动态添加表格,然后动态删除不成功问题

源码:

function addtr() {
var trinfo = "<tr><td><input placeholder='参数名称' style='width: 80%'></td>" +
"<td><input placeholder='参数值' style='width: 70%'><button id='delete-btn' onclick='removetr(event)'>删除参数</button></td></tr>";
$("#keytable").append(trinfo);
} function removetr() {
$(this).parents("tr").empty();
}

问题现象:

不能删除

问题原因:

选择器没有选到元素,用console.log抓取获取到的元素发现是全局windows

解决方法:

提供两种方法

方法一:利用event点击事件

function addtr() {
var trinfo = "<tr><td><input placeholder='参数名称' style='width: 80%'></td>" +
"<td><input placeholder='参数值' style='width: 70%'><button id='delete-btn' onclick='removetr(event)'>删除参数</button></td></tr>";
$("#keytable").append(trinfo);
} function removetr(ev) {
$(ev.target).parents("tr").empty();
}

方法二:利用监听on功能

function addtr() {
var trinfo = "<tr><td><input placeholder='参数名称' style='width: 80%'></td>" +
"<td><input placeholder='参数值' style='width: 70%'><button id='delete-btn' onclick='removetr()'>删除参数</button></td></tr>";
$("#keytable").append(trinfo);
} $(function () {
$(document).on("click", "#delete-btn", function () {
$(this).parents('tr').empty()
});
});
上一篇:使用jQuery动态克隆表格,并且添加至div中(使用前需要引入jQuery)


下一篇:input放在a标签里面不能选择input里面的文本,IE9点击失效