Javascript Jquery:Can';t删除动态创建的元素
我试图删除一个动态附加的元素,但似乎没有读取为此元素附加的类函数 我可以单击+按钮并添加新元素,但单击“-”按钮时无法删除Javascript Jquery:Can';t删除动态创建的元素,javascript,jquery,Javascript,Jquery,我试图删除一个动态附加的元素,但似乎没有读取为此元素附加的类函数 我可以单击+按钮并添加新元素,但单击“-”按钮时无法删除 姓名: + $(“#plusdften”)。单击(函数(){ $(“#dftEnglisht”).append(“名称:-”); }); $(“.minusbtn”)。单击(函数(){ $(this.parent().remove(); }) 谢谢, Alex在这种情况下尝试使用事件委派 $("#dftenglist").on("click", ".minusbtn
姓名:
+
$(“#plusdften”)。单击(函数(){
$(“#dftEnglisht”).append(“
名称:-”);
});
$(“.minusbtn”)。单击(函数(){
$(this.parent().remove();
})
谢谢,
Alex在这种情况下尝试使用
事件委派
$("#dftenglist").on("click", ".minusbtn", function() {
$(this).parent().remove();
});
您可能会问为什么?原因是,在将事件注册到该特定元素时,该元素在DOM中不可用,因为我们是在运行时添加它的。因此,在这种情况下,事件委派
将利用引擎盖下的事件冒泡概念来解决这个问题。更多信息
对于您的新需求,只需执行以下操作,在删除父元素的同时删除
$("#dftenglist").on("click", ".minusbtn", function () {
$(this).parent().prev('br').addBack().remove();
});
这很有效,谢谢!但为了完美起见,我怎样才能使其他物体向上移动呢?例如,我单击“+”3次。因此,如果我在创建的第一个新对象上单击“-”,我希望其他元素向上移动。@AlexPalombo好的,我正在为此制作一个演示,请稍等,在此之前,因为您是Stackoverflow新手,我只想告诉您这里遵循的一些准则。也就是说,如果您发现为您的问题提供的任何一个答案满足了您的需要,请单击该特定答案的勾号,尝试接受该答案。而且这纯粹不是一种强迫……:):)明白了,只需在@AlexPalombo Oh.中添加
。。这是一个不错的举动,不过你也可以使用我的解决方案。。请参阅更新的答案。。
$("#dftenglist").on("click", ".minusbtn", function () {
$(this).parent().prev('br').addBack().remove();
});