2009-05-05 10 views
1

Wenn ich eineJavaScript TextNode Update

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

Ist es möglich, den Inhalt von t einfach zu aktualisieren?

Ich möchte den Text innerhalb der parent ohne removeChild, createTextNode und appendChild ändern. Warum würde ich das brauchen anstatt nur innerHTML zu benutzen? Da ich den Inhalt des Elements nicht mit HTML-Code aktualisieren möchte, kann die text Sonderzeichen wie < oder & enthalten, die von DOM-Methoden TextNode analysiert werden sollten.

Danke,
Tom

+0

Möchten Sie tatsächlichen HTML oder wirklich nur einfachen Text anzeigen? – Tomalak

+0

Ich möchte den Text innerhalb des Elternteils ändern und ihn als einfachen Text erscheinen lassen (dh das DOM muss Tom

Antwort

11

beachten Sie, dass benachbarte Textknoten in einem kollabierten sind (da es wirklich keine Möglichkeit, zwei benachbarte Textknoten zu unterscheiden).

Der Inhalt eines Textknotens kann unter Verwendung seiner nodeValue Eigenschaft aktualisiert werden (siehe MDC).

Da ein Textknoten nach seiner Definition kein Markup enthalten kann, gibt es keine innerHTML Eigenschaft.

+0

Perfekt :) Genau das, was ich suche – Alex

1
parent.innerText = text; 
+0

Das ist eine Alternative, aus gutem Grund. Ich dachte, du fragst spezifisch nach Textknoten. – Tomalak

+0

"Ich würde gerne den Text innerhalb der Eltern ändern" war wahrscheinlich nicht spezifisch genug zu sagen, dass es mir egal ist, wie, ich will nur etwas sehr einfaches, das das DOM verwendet, um HTML zu entkommen. – Tom

+0

Ja. Ich war zu konzentriert auf den Beispielcode. ;-) – Tomalak