2009-05-05 46 views
1

如果我有一个的JavaScript TextNode更新

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

是否可以简单地更新t的内容是什么?

我想更改parent中的文本,而不使用removeChildcreateTextNodeappendChild。为什么我需要这个而不是仅仅使用innerHTML?因为我不想用HTML代码更新元素的内容,并且text可能包含特殊字符,如<或&,应该使用TextNode的DOM方法进行分析。

感谢,
汤姆

+0

要显示实际的HTML还是真的只是纯文本? – Tomalak 2009-05-05 09:15:13

+0

我想改变父文本内的文本,并使其显示为纯文本(即,使用DOM替换<与<)。 – Tom 2009-05-05 09:26:44

回答

11

要知道,相邻的文本节点被折叠成一个(因为实在是没有办法区分两个相邻的文本节点)。

文本节点的内容可以通过它的nodeValue财产(见MDC)进行更新。

由于其定义的文本节点不能包含任何标记,因此不存在innerHTML属性。

+0

完美:)只是我在寻找 – Alex 2009-09-15 03:38:29

1
parent.innerText = text;