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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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动态添加表格,然后动态删除不成功问题的主要内容,如果未能解决你的问题,请参考以下文章

如何用jquery实现动态删除表格行

使用jquery动态添加表格的行之后,如何获取表格高度?

jQuery实现表格行的动态增加与删除(改进版)

一个table表格,里面的tr是append添加的,并且id是动态变化的,用jquery怎么删除在该表选择的行。

使用jquery动态添加和删除表中的行和列

JQuery动态操作表格