JavaScript,按自定义数据ID查找子DIV

JavaScript,按自定义数据ID查找子DIV,javascript,ecmascript-6,Javascript,Ecmascript 6,我正在尝试使用自定义DATA-ID attr在其父对象中查找子DIV,我已经设置了该属性,在找到特定的子对象后,将其删除。 我已经让我的代码工作了,但是我想知道是否有更好的方法,更好的方法 假设我正在尝试查找DATA-ID=2的子项: HTML 使用更简单的querySelectorAll调用,如下所示: removeChild(id) { document.querySelectorAll(".parent-div .child-item").forEach(e => e.dat

我正在尝试使用自定义DATA-ID attr在其父对象中查找子DIV,我已经设置了该属性,在找到特定的子对象后,将其删除。 我已经让我的代码工作了,但是我想知道是否有更好的方法,更好的方法

假设我正在尝试查找DATA-ID=2的子项:

HTML


使用更简单的
querySelectorAll
调用,如下所示:

removeChild(id) {
    document.querySelectorAll(".parent-div .child-item").forEach(e => e.dataset.id == id ? e.remove() : 0);
}

使用带有的
元素。querySelector()
直接查找子元素,然后将其删除:

函数removeChild(dataID){
const child=document.querySelector(`[data id='${dataID}']`);
if(child)child.remove();
};
移除儿童(2)

一些内容
一些内容
一些内容

如果DOM中存在另一个具有相同属性的元素,则首先将其删除。我将使用选择器作为
document.querySelector(`.parent div>[data id='${dataID}']`)通常名称为
id
的东西是唯一的。如果没有,您可以将querySelectorAll与属性选择器一起使用,然后迭代并删除所有属性选择器。谢谢,这是一种更好的方法!感谢您的解决方案是伟大的,单行代码总是更好,它应该是“e.dataset.id==id”(对于其他寻找答案的ppl)修复@MiniMax。
    removeChild(dataID) {
       const parentContainer = document.querySelector('.parent-div');
       const children = [...parentContainer.querySelectorAll('.child-item')];

       children.forEach(child => {
          child.dataset.id === dataID ? child.remove() : 0;
       })
   };

   removeChild(2);
removeChild(id) {
    document.querySelectorAll(".parent-div .child-item").forEach(e => e.dataset.id == id ? e.remove() : 0);
}