2
4

2 回答 2

2

假设每个 B 标签内只有一个 TextNode 。

b.parentNode.replaceChild(b.firstChild, b);

示例:http: //jsfiddle.net/DGTh5/

于 2013-09-17T21:31:37.853 回答
1

假设您正在处理元素,而不是字符串:

function unwrapChildren(element) {
    var parent, node, nextNode;

    parent = element.parentNode;
    for (node = element.firstChild; node; node = nextNode) {
         nextNode = node.nextSibling;
         parent.insertBefore(node, element);
    }
    parent.removeChild(element);
}

然后unwrapChildrenb元素调用。以上将其所有子节点(可能只有一个,一个文本节点)移动到b元素所在元素的父节点中b,然后删除该b元素。

于 2013-09-17T13:54:10.573 回答