2009-05-05 8 views
1

私はJavaScriptのTextNode更新

var t = document.createTextNode(text) 
parent.appendChild(t); 

を持っている場合は、それは単にtの内容を更新することはできますか?

parent内のテキストをremoveChild,createTextNodeappendChildを使用せずに変更したいと思います。 innerHTMLだけでなく、なぜこれが必要でしょうか?要素の内容をHTMLコードで更新したくないため、textには、のDOMメソッドで解析される<や&などの特殊文字が含まれている可能性があります。

おかげで、
トム

+0

実際のHTMLまたは実際にはプレーンテキストを表示しますか? – Tomalak

+0

親の中のテキストを変更してプレーンテキストとして表示したい(つまり、DOMを<<に置き換えてください)。 – Tom

答えて

11

は、隣接するテキストノードは、(実際には2つの隣接するテキストノードを区別する方法がないため)1にまとめていることに注意してください。

テキストノードの内容は、nodeValueプロパティ(MDCを参照)を使用して更新できます。

非常に定義されたテキストノードにはマークアップが含まれていないため、innerHTMLプロパティはありません。

+0

パーフェクト:)ちょうど私が探しているのは – Alex

2

は、あなたが)、あなたがreplaceDataのような様々な機能を使用してコンテンツを(変更することができます(あなたの例のコードではT)TextNodeオブジェクトのインスタンスを保持している場合、のsubstringData()、など。

がいい参考のために、このページを参照してください: http://msdn.microsoft.com/en-us/library/ms535905(VS.85).aspx#

1
parent.innerText = text; 
+0

これは代案です。私はあなたがテキストノードについて具体的に質問していると思った。 – Tomalak

+0

"親の中のテキストを変更したい"とは言えませんが、HTMLをエスケープするためにDOMを使用する非常にシンプルなものがほしいと思っています。 – Tom

+0

うん。私はあまりにもサンプルコードに集中していたと思います。 ;-) – Tomalak

関連する問題