使用纯javascript在单击时删除父元素

使用纯javascript在单击时删除父元素,javascript,Javascript,我正在尝试学习我在jQuery中使用的东西,用纯JavaScript做 我在网上找到了一个要解决的例子,这真的让我很为难 我正在尝试删除父项div.single单击按钮。删除 这是代码 var btn=document.getElementsByClassName('remove') 对于(变量i=0;i{ removeButton.parentNode.remove(); }); }); X1 X2 X3 X4 this.parentElement.remove也可以工作您需要e.targ

我正在尝试学习我在jQuery中使用的东西,用纯JavaScript做

我在网上找到了一个要解决的例子,这真的让我很为难

我正在尝试删除父项
div.single
单击
按钮。删除

这是代码

var btn=document.getElementsByClassName('remove')
对于(变量i=0;i

X1
X2
X3
X4

您需要从事件对象(/)获取元素引用

注意:所有现代浏览器都支持

var btn=document.getElementsByClassName('remove')
对于(变量i=0;i

X1
X2
X3
X4

要快速删除父节点,请执行以下操作:


X
如果您正在使用,则可以避免在单击事件中使用
currentTarget

const removeButtons=document.getElementsByClassName('remove');
数组.from(removeButtons).forEach((removeButton)=>{
removeButton.addEventListener('单击',()=>{
removeButton.parentNode.remove();
});
});

X1
X2
X3
X4

this.parentElement.remove也可以工作

您需要
e.target.parentNode
e
对象是事件对象,而不是节点。引用节点的是
target
属性。在方法内部将
e
替换为
this
。这两种解决方案都有效,谢谢大家。我不得不说,我更喜欢这种方法,因为它对动态创建的元素也非常有效。想象一下,构建一个动态添加元素的页面,而不是在加载时呈现元素的OP版本,这将最有效,因为它将自身作为子节点附加到该特定元素。非常漂亮的