Как удалить созданный элемент через JQUERY? - PullRequest
4 голосов
/ 24 ноября 2010
        $(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 ]

2 голосов
/ 24 ноября 2010

Ваша кнопка не имеет атрибута 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();
    });
});

Вы можете проверить это здесь .

Также обратите внимание на использование .delegate(), поэтому оно работает на добавляемых вами кнопках, а не только на тех, которые были там, когда выполнялась ваша функция document.ready.

1 голос
/ 24 ноября 2010

Ваша целевая переменная уже является объектом jquery. Таким образом, вы должны изменить $(target).remove(); на target.remove();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...