JavaScript 文本节点更新
Posted
技术标签:
【中文标题】JavaScript 文本节点更新【英文标题】:JavaScript TextNode update 【发布时间】:2010-10-23 20:46:48 【问题描述】:如果我有一个
var t = document.createTextNode(text)
parent.appendChild(t);
是否可以简单地更新t
的内容?
我想在不使用removeChild
、createTextNode
和appendChild
的情况下更改parent
中的文本。为什么我需要这个而不是只使用innerhtml
?因为我不想用 HTML 代码更新元素的内容,而 text
可能包含特殊字符,例如 TextNode 的 DOM 方法解析。
谢谢, 汤姆
【问题讨论】:
你想显示实际的 HTML 还是真的只是纯文本? 我想更改 parent 中的文本并使其显示为纯文本(即,让 DOM 将 【参考方案1】:请注意,相邻的文本节点会合并为一个(因为实际上无法区分两个相邻的文本节点)。
文本节点的内容可以使用它的nodeValue
属性进行更新(参见MDC)。
由于定义的文本节点不能包含任何标记,因此没有innerHTML
属性。
【讨论】:
完美 :) 正是我想要的【参考方案2】:如果您保留 TextNode 对象的实例(示例代码中为 t),那么您可以使用各种函数(如 replaceData()、substringData() 等)更改内容。
查看此页面以获得很好的参考: http://msdn.microsoft.com/en-us/library/ms535905(VS.85).aspx#
【讨论】:
【参考方案3】:parent.innerText = text;
【讨论】:
这是另一种选择,当然。我以为您是在专门询问文本节点。 “我想更改父级中的文本”可能不够具体,不能说我不在乎如何,我只是想要一些非常简单的东西,它会使用 DOM 来转义 HTML .以上是关于JavaScript 文本节点更新的主要内容,如果未能解决你的问题,请参考以下文章