是否可以删除某种类型的子元素?
Is it possible to delete a certain type of child element?
我正在尝试制作一个与调查有关的简单网站(例如进行调查、发布调查、回答调查、查看回复等),但我遇到了一个需要大量代码才能解决的问题,并涉及硬编码。我试图一次从 div 父元素中删除所有 br 子元素,所以就像一行代码或最多两行代码。
如您所见,该父级 div 中有很多 br 标签。我想要单行或双行代码,可以一次删除所有这些 br 标签。所以最后它应该是这样的:
谢谢!
您需要迭代父节点的子节点,然后您可以在条件适用时使用 element.parentNode.removeChild(element)
:
const parentElement = document.getElementById('parent');
[...parentElement.children].forEach((element) => {
if (element.tagName === 'BR') {
element.parentNode.removeChild(element);
}
});
<div id="parent">
<div>foo</div>
<br>
<br>
<br>
<span>bar</span>
<br>
<br>
<br>
<div>baz</div>
</div>
请注意,您不能重复 HTML 属性 children
(类似于 classList
)。这样做的技巧是简单地 spread
它(即 [...foo]
)
我正在尝试制作一个与调查有关的简单网站(例如进行调查、发布调查、回答调查、查看回复等),但我遇到了一个需要大量代码才能解决的问题,并涉及硬编码。我试图一次从 div 父元素中删除所有 br 子元素,所以就像一行代码或最多两行代码。
如您所见,该父级 div 中有很多 br 标签。我想要单行或双行代码,可以一次删除所有这些 br 标签。所以最后它应该是这样的:
谢谢!
您需要迭代父节点的子节点,然后您可以在条件适用时使用 element.parentNode.removeChild(element)
:
const parentElement = document.getElementById('parent');
[...parentElement.children].forEach((element) => {
if (element.tagName === 'BR') {
element.parentNode.removeChild(element);
}
});
<div id="parent">
<div>foo</div>
<br>
<br>
<br>
<span>bar</span>
<br>
<br>
<br>
<div>baz</div>
</div>
请注意,您不能重复 HTML 属性 children
(类似于 classList
)。这样做的技巧是简单地 spread
它(即 [...foo]
)