JQuery动态添加表格,然后动态删除不成功问题
2017-09-07 14:10 yongchin 阅读(751) 评论(0) 编辑 收藏 举报背景:
自己做了一个测试网页,想动态添加表格,然后删除,按照网上的教程写完,发现点击"删除参数"按钮没用
源码:
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() }); });