If I have a
var t = document.createTextNode(text)
parent.appendChild(t);
Is it possible to simply update the contents of t?
I would like to change the text inside the parent without using removeChild, createTextNode and appendChild. Why would I need this instead of just using innerHTML? Because I don't want to update the contents of the element with HTML code and the text may contain special characters, such as < or & which should be parsed by TextNode's DOM methods.
Thanks,
Tom
-
If you keep the instance of the TextNode object (t in your example code) then you can change the content using various functions like replaceData(), substringData(), etc..
See this page for a nice reference: http://msdn.microsoft.com/en-us/library/ms535905(VS.85).aspx#
-
Be aware that adjacent text nodes are collapsed into one (since there is really no way to distinguish two adjacent text nodes).
The contents of a text node can be updated using it's
nodeValueproperty (see W3Schools example: http://www.w3schools.com/dom/dom_nodes_info.asp).Since a text node by it's very definition cannot contain any markup, there is no
innerHTMLproperty.Alex : Perfect :) Just what i'm looking for -
parent.innerText = text;Tomalak : That's an alternative, of cause. I thought you were asking about text nodes specifically.Tom : "I would like to change the text inside the parent" probably wasn't specific enough to say that I don't care how, I just want something very simple that will use the DOM to escape HTML.Tomalak : Yeah. I was too focused on the sample code, I guess. ;-)
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.