Javascript TextNode还是textContent?

Javascript TextNode还是textContent?,javascript,createtextnode,Javascript,Createtextnode,创建一个TextNode并将其附加到HTML元素中比直接设置其textContent有什么好处 假设我有一个跨度 var span=document.getElementById('my-span'); 我想更改它的文本。使用以下各项的好处是什么: var my_text=document.createTextNode('Hello!'); span.appendChild(我的文本); 结束 span.textContent='hello'这其实不是优点的问题,而是根据需要正确使用的问题

创建一个TextNode并将其附加到HTML元素中比直接设置其textContent有什么好处

假设我有一个跨度

var span=document.getElementById('my-span');
我想更改它的文本。使用以下各项的好处是什么:

var my_text=document.createTextNode('Hello!');
span.appendChild(我的文本);
结束


span.textContent='hello'

这其实不是优点的问题,而是根据需要正确使用的问题

根本区别在于:

  • createTextNode()
    是一个方法,其工作原理与名称相同:它创建一个元素。。。然后你必须对它做些什么(比如在你的例子中,你把它作为一个孩子附加)
    因此,如果您想拥有一个新元素并将其放置在某个地方,它非常有用
  • textContent
    是您可以获取或设置的属性,只有一条唯一的语句,没有其他内容
    因此,当您只想更改现有元素的内容时,它非常有用
现在,就您的问题而言,您说过要更改元素的文本…
更清楚地说,您有以下HTML元素:

<span>Original text</span>
然后它将以以下内容结束:

<span>Original textHello!</span>
Original text你好!
因为您附加了
textNode

所以你应该使用第二种解决方案

<span>Original textHello!</span>