Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery:Can';t删除动态创建的元素_Javascript_Jquery - Fatal编程技术网

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();
});