我正在尝试删除动态附加的元素,但似乎未读取为此元素附加的类函数。
我可以单击+按钮并添加新元素,但是单击“-”按钮时不能删除。
<div id="dftenglist">
<label for="dtfeng">Name:</label><input type="text" class="dfteng">
<button id="plusdfteng">+</button>
</div>
$("#plusdfteng").click(function() {
$("#dftenglist").append('<br><span><label for "a">Name:</label><input type="text" class="dfteng"> <button class="minusbtn">-</button></span>');
});
$(".minusbtn").click(function() {
$(this).parent().remove();
})
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/0uv4k5bz/1/
谢谢亚历克斯
尝试event-delegation在这种情况下使用
$("#dftenglist").on("click", ".minusbtn", function() {
$(this).parent().remove();
});
Run Code Online (Sandbox Code Playgroud)
您可能会问为什么?原因是,在将事件注册到该特定元素时,该元素在DOM中将不可用,因为我们是在运行时添加它的。因此,在这种情况下,event-delegation将利用事件冒泡的概念来解决这个问题。欲了解更多信息,请点击这里。
对于您的新要求,只需执行以下操作即可,<br>同时删除父元素。
$("#dftenglist").on("click", ".minusbtn", function () {
$(this).parent().prev('br').addBack().remove();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4644 次 |
| 最近记录: |