检查点击的元素是否是父元素的子孙元素,否则删除父元素。

16 浏览
0 Comments

检查点击的元素是否是父元素的子孙元素,否则删除父元素。

我正在尝试使用原始的JS(没有jQuery)编写一个脚本,如果有人在该元素之外点击,它将从页面中删除该元素。

然而,这个

有许多嵌套元素,我设置的方式是,即使点击的元素在第一个元素内部,它也会消失。

示例标记:

  这是主父节点
     非父节点
    
      孙子节点

所以,无论嵌套多深的元素都会检查它是否是

的后代。所以如果我点击那里,它不会去除父节点及其所有后代。只有在点击父之外时,和其后代才会动态地被删除。
目前我有以下代码,我知道我写的有一些严重的错误:
function remove(id) {
    return (elem = document.getElementById(id)).parentNode.removeChild(elem);
}
document.addEventListener("click", function (e) {
    remove('parent-node');
});

0