如何在JavaScript中删除子节点触发点击事件时的父节点

How to delete parent node when child node fire clicked event in JavaScript?

本文关键字:事件 父节点 JavaScript 子节点 删除      更新时间:2023-11-25

单击<span>时,我正在尝试删除<p>节点,包括它的所有子节点。<span>位于<p>内部。

HTML示例是:

<p>Hello World!<span>x</span></p>

我想用JavaScript而不是jQuery来实现这一点。

我的代码是:

spancomment.addEventListener('click', deleteComment(this), false);
function deleteComment(e) {
    e.parentNode.parentNode.parentNode.removeChild(e.parentNode.parentNode);
}

我得到以下错误:

TypeError:undefined不是对象(正在评估'e.parentNode.pparentNode')

我接着说:如何使用纯JavaScript删除父元素?

尝试将函数reference作为事件处理程序传递

spancomment.addEventListener('click', deleteComment, false);
function deleteComment(e) {
    this.parentNode.remove();
}

此外,您还可以简单地在父节点上使用.remove()

演示