我在jQuery中需要一些帮助“.remove”。我用“.append”
在表格中创建了新的“tr”$("#myinput").keypress(function(e){
if(e.keyCode==13){
$('#mytable tbody:last').append("<tr><td></td><td><a id='delete' href='' >X</a></td></tr>");
return false;
}
});
当我添加许多“tr”并尝试删除其中一个时,它会删除所有“tr”。
$("#mytable #delete").on("click",function() {
$(this).closest("tr").remove();
return false;
});
我能做什么? 谢谢:))
答案 0 :(得分:0)
您需要动态添加元素的事件委派。事件绑定代码执行tr的时间不存在,并且使用事件委托将在添加tr时绑定事件。
$("#mytable").on("click", "#delete", function() {
$(this).closest("tr").remove();
return false;
});
委派事件的优势在于它们可以处理来自的事件 稍后添加到文档中的后代元素。通过 选择一个保证在当时存在的元素 委托事件处理程序附加,您可以使用委托事件 避免频繁附加和删除事件处理程序jQuery doc。