WebブラウザーでDOM textNodeの値を変更する方法はありますか?
新しいノードを作成するのではなく、既存のノードを変更できるかどうかを確認したいのです。
明確にするために、Javascriptでこれを行う必要があります。ブラウザのすべてのテキストは、他のHTMLノードの子である#textNodesに保存されますが、独自の子ノードを持つことはできません。
以下で回答するように、これらのオブジェクトのnodeValueプロパティを設定することでコンテンツを変更できます。
WebブラウザーでDOM textNodeの値を変更する方法はありますか?
新しいノードを作成するのではなく、既存のノードを変更できるかどうかを確認したいのです。
明確にするために、Javascriptでこれを行う必要があります。ブラウザのすべてのテキストは、他のHTMLノードの子である#textNodesに保存されますが、独自の子ノードを持つことはできません。
以下で回答するように、これらのオブジェクトのnodeValueプロパティを設定することでコンテンツを変更できます。
innerHTML
使用を、そして好むtextContent
使用を。使用textContent
するとうまくいきます。
回答:
特定のノード(タイプ#text)があり、その値を変更したい場合は、nodeValueプロパティを使用できます。
node.nodeValue="new value";
注意:
innerText(および たぶん textContent)は、現在のノードとすべての子孫ノードのテキストの両方を返す/設定するため、期待する動作とは異なる場合があります。
私はこれにinnerHTMLが使用されていると思います...もう一度、それはW3C承認されていません...
node.innerHTML="new value";
innerHTML
しないでください。
nodeValue
親要素ではなく、テキストノードに設定する必要があります。