$(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删除创建的元素?
答案 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();
});
});
另请注意.delegate()
的使用,因此它适用于您添加的按钮,而不仅仅是document.ready
函数运行时的按钮。
答案 1 :(得分:1)
你的目标变量已经是一个jquery对象。因此,您应该将$(target).remove();
更改为target.remove();