如何通过JQUERY删除创建的元素?

时间:2010-11-24 09:36:17

标签: jquery-selectors jquery

        $(function(){
            var namecounter = 0
            $("#getitem").click(function(){
                namecounter++
                var txtval = $("#txt").val();
                $('<tr><td><input type="button" name="txt'+ namecounter +'" value="remove" /><input type="text" id="txt'+ namecounter +'a" name="txt'+ namecounter +'a" value="'+txtval+'"/></td><td></td><td></td></tr>').appendTo('#pasok');
            });
            $(":button[name^='txt']").click(function(){
                var currentValue = $(this);
                var target = $("#" + currentValue.attr("id") + "a");
                $(target).remove();
            });
        });

如何通过JQUERY删除创建的元素?

2 个答案:

答案 0 :(得分:2)

您的按钮没有id属性,它具有name属性(这两个属性也是可直接访问的DOM属性),因此您可以执行此操作:

$(function(){
    var namecounter = 0
    $("#getitem").click(function(){
        namecounter++
        var txtval = $("#txt").val();
        $('<tr><td><input type="button" name="txt'+ namecounter +'" value="remove" /><input type="text" id="txt'+ namecounter +'a" name="txt'+ namecounter +'a" value="'+txtval+'"/></td><td></td><td></td></tr>').appendTo('#pasok');
    });
    $("#pasok").delegate(":button[name^='txt']", "click", function(){
        $("#" + this.name + "a").remove();
    });
});

You can test it out here

另请注意.delegate()的使用,因此它适用于您添加的按钮,而不仅仅是document.ready函数运行时的按钮。

答案 1 :(得分:1)

你的目标变量已经是一个jquery对象。因此,您应该将$(target).remove();更改为target.remove();