繁体   English   中英

将 HTML 子元素移出父元素并删除父元素

[英]Move HTML children elements out of parent and remove the parent element

尝试将子级移出父级,然后在 vanilla JavaScript 中删除父级本身。 当前代码如下所示:

<div class="parent">
  <div class="child"></div>
  <div class="child"></div>
</div>

期望的输出:

<div class="child"></div>
<div class="child"></div>

尝试将outerHTML属性设置为innerHTML属性。

const parent = document.querySelector('.parent')
parent.outerHTML = parent.innerHTML

看现场演示:

 console.log('Before change: ', document.querySelector('.container').innerHTML) const parent = document.querySelector('.parent') parent.outerHTML = parent.innerHTML console.log('After change: ', document.querySelector('.container').innerHTML)
 <div class="container"> <div class="parent"> <div class="child"></div> <div class="child"></div> </div> </div>

您可以按照@MichałPerłakowski 的回答使用. outerHTML . outerHTML. innerHTML . innerHTML ,如果您对速度(将 HTML 解析为 DOM 节点)不挑剔并且不关心附加的事件侦听器等,则可以。

更有效和更有弹性的解决方案是使用 dom 元素:

while(parentElement.childNodes.length){
    parentElement.before(parentElement.childNodes[0]);
}
parentElement.remove();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM