从文本中删除<b>标记</b>

时间:2013-09-17 13:50:05

标签: javascript greasemonkey

我想使用Greasemonkey将粗体文本设为非粗体。我只找到了删除标签及其文本的方法,但不是简单地删除标签本身的方法。

那我该如何制作

<b>
some text
</b>

some text

2 个答案:

答案 0 :(得分: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);
}

然后使用unwrapChildren元素调用b。上面将把它的所有子节点(可能只有一个,一个文本节点)移动到b元素所在的b元素的父节点,然后删除b元素。

答案 1 :(得分:1)

假设每个B标记中只有一个TextNode。

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

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