$(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删除创建的元素?
最佳答案
您的按钮没有 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
函数运行时存在的按钮。
关于jquery-selectors - 如何通过JQUERY删除创建的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4265295/