在香草javascript中删除父级而不删除子级

时间:2020-02-06 19:40:10

标签: javascript dom

我已阅读this question来删除父级而不删除子级,但是如果子节点是节点类型3(文本),则无法正常工作

<div>
    <h1>
        <u>
            Hello world
            <i> How are you ? </i>
        </u>
    </h1>
</div>

例如,我想使用普通JavaScript删除<u>标签(Hello world节点类型文本和i的父标签)。

删除u标签后,我希望拥有:

<div>
    <h1>
        Hello world
        <i> How are you ? </i>
    </h1>
</div>

1 个答案:

答案 0 :(得分:0)

答案很简短

在此https://stackoverflow.com/users/7230746/tom-oeser中使用question答案,首先是重新定义逻辑采用的文本节点父级。

function unwrap(node) {
    node = node.parentNode;
    node.replaceWith(...node.childNodes);
}