微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以删除某种类型的子元素?

如何解决是否可以删除某种类型的子元素?

我正在尝试制作一个与调查有关的简单网站(例如进行调查、发布调查、回答调查、查看回复等),但我有一个需要大量代码才能解决的问题,并且涉及硬编码。我正在尝试一次性删除 div 父元素中的所有 br 子元素,例如一行代码或最多两行。

enter image description here

如您所见,该父 div 中有很多 br 标签。我想要一行或双行代码,可以一次性删除所有这些 br 标签。所以最后它应该是这样的:

enter image description here

谢谢!

解决方法

您需要迭代父节点的子节点,然后在条件适用时可以使用 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]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。