JavaScript 文本节点更新

Posted

技术标签:

【中文标题】JavaScript 文本节点更新【英文标题】:JavaScript TextNode update 【发布时间】:2010-10-23 20:46:48 【问题描述】:

如果我有一个

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

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

我想在不使用removeChildcreateTextNodeappendChild 的情况下更改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 文本节点更新的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript中DOM操作元素及节点操作

使用javascript显示带小数的文本框的计算[关闭]

javascript 怎样获取节点文本值?

JavaScript 文本节点属性

javascript获取窗口位置绝对位置事件位置等

获取嵌套子节点javascript的文本