首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TextNode还是textContent?

TextNode还是textContent?
EN

Stack Overflow用户
提问于 2015-07-27 07:56:59
回答 1查看 10.2K关注 0票数 35

与直接设置其textContent相比,创建一个TextNode并将其附加到HTML元素有什么优势?

假设我有一个跨度。

代码语言:javascript
复制
var span = document.getElementById('my-span');

我想要更改它的文本。使用以下命令的优势是什么:

代码语言:javascript
复制
var my_text = document.createTextNode('Hello!');
span.appendChild(my_text);

结束

span.textContent = 'hello';

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-27 09:38:19

这实际上不是优点的问题,而是根据需要适当使用的问题。

根本区别在于:

  • createTextNode()是一个方法,正如它的名字所说:它创建一个元素……然后你必须对它做些什么(就像在你的例子中,你把它作为一个子元素来添加);

如果你想拥有一个新的元素,并将它放入其中,somewhere

  • textContent是一个你可以获取或设置的属性,只需要一个唯一的语句,而不需要其他任何东西,因此它很有用;

,因此当您只想更改已存在的 element的的内容时,它非常有用

现在,在您的问题的确切情况下,您说要更改元素的文本...( the text of the element)。

更清楚地说,假设您有以下HTML元素:

代码语言:javascript
复制
<span>Original text</span>

如果您使用的是您的第一个解决方案:

代码语言:javascript
复制
var my_text = document.createTextNode('Hello!');
span.appendChild(my_text);

然后,它将以:

代码语言:javascript
复制
<span>Original textHello!</span>

因为你追加了你的textNode

因此,您应该使用第二种解决方案。

票数 45
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31643204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档