假設我有一個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