我有以下动态添加的p元素。封闭的div位于DOM中。我想用按钮删除p。
<div class="prime_ben">
<p class=”beneficiary”>
ADDED: John C Smith, Son <button class="remove_ben” type="button">REMOVE</button>
</p>
</div>
这里有很多关于如何使用.on方法将click函数添加到动态添加元素(如我的示例中的按钮)的引用(之前的问题)。但无法弄清楚如何让函数作用于父元素。我知道我可以将点击功能添加到p本身,只需点击p上的任意位置即可将其删除,但这不是我想要的。我只想要“删除”文本是一个点击删除按钮。 此代码单独删除按钮。
$('.prime_ben').on('click', 'button.remove_ben', function() {
this.remove();
});
我想使用这样的东西:
$('.prime_ben').on('click', 'button.remove_ben', function() {
this.parent.remove();
});
我知道它不起作用,因为父p是未定义的(不在DOM中)。有没有办法选择父元素或兄弟元素到用.on方法选择的元素?
答案 0 :(得分:7)
你快到了。您已经正确附加了委托事件,并且在执行删除按钮时存在父元素:
$('.prime_ben').on('click', 'button.remove_ben', function() {
$(this).parent().remove();
});