假设我有一个nodeType = 3的节点,并且我希望单词“good”被一个范围包围。使用replaceChild更改节点
"good morning to you" //node
"<span>good</span> morning to you" //newnode
我尝试使用以下,以更换新的节点旧节点:
newNode = node.cloneNode();
newNode.nodeValue = "<span>good</span> morning to you";
node.parentNode.replaceChild(newNode, node);
但因为我觉得节点有3跨度一个节点类型,这并不在所有的工作标签呈现为文本。我试图在这种情况下不使用jQuery。谢谢。
编辑1:为了澄清,该节点是一个DIV CONTENTEDITABLE的childNode:
<div contenteditable=true>good morning to you</div>
“早上好给你”是div的childNode,并为此实例的文本节点。
的节点不是一个字符串,它是一个html文本节点。 – carmina
尽管这并没有改变我的解决方案,但我想提一提'contenteditable'在大多数浏览器中都有问题。不过每次更新都会变得更好。 – Halcyon