gpt4 book ai didi

javascript - 删除选定的 div

转载 作者:行者123 更新时间:2023-11-30 15:24:43 25 4
gpt4 key购买 nike

脚本解释:我有一个文本区域,用户正在输入注释,这些注释被添加到 DOM(作为 div 元素)。我在该 div 中创建了一个图标,当您单击它时,我希望被单击的图标的父级从 DOM 中删除。我用 JQuery 实现了这一点,但我不能用纯 JS 来实现。我用来实现此目的的代码:

$('.fa-window-close').on('click', function(event){
event.preventDefault();
console.log($(this).parents('div')[0]);
$(this).parents('div')[0].remove();

});

我发布了一个来自 gist 的链接,它是我项目的一部分代码,因此您可以了解我想要实现的目标。

https://gist.github.com/Clickys/43856fe26ee4c061cf910a9211f0c142

基本上我想要实现的是,假设我们有一个在 DOM 中创建 div 元素的按钮。每个 div 都有一个图标(fontawesome),如果我们单击它,则应从 DOM(目标 div)中删除所选目标,但不会从其他 div 中删除。我尝试使用 event.target 和很多东西,但遗憾的是我无法用纯 JS 解决这个问题。

我试过了

closeTolPos.addEventListener('click', function(e){
var parentEl = e.currentTarget.parentNode.parentNode;
parentEl.removeChild(this.parentElement);
console.log(this.parentElement);
});

但似乎当有超过 1 个元素时,它不起作用。它仅在存在一个元素时有效。

最佳答案

我们做了一些更改,现在代码可以运行了:

 (function() {
document.addEventListener('click',function(e) {
if (e.target.closest('.notesDecoration')) {
e.target.closest('.notesDecoration').parentNode.removeChild(e.target.parentNode);
}
});
})();

现在 click 事件被绑定(bind)到文档,所以当页面加载时元素存在。然后我检查点击的元素是否是最近创建并添加到 DOM 的元素。

关于javascript - 删除选定的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43170754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com