与直接设置其textContent相比,创建一个TextNode并将其附加到HTML元素有什么优势?
假设我有一个跨度。
var span = document.getElementById('my-span');我想要更改它的文本。使用以下命令的优势是什么:
var my_text = document.createTextNode('Hello!');
span.appendChild(my_text);结束
span.textContent = 'hello';
发布于 2015-07-27 09:38:19
这实际上不是优点的问题,而是根据需要适当使用的问题。
根本区别在于:
createTextNode()是一个方法,正如它的名字所说:它创建一个元素……然后你必须对它做些什么(就像在你的例子中,你把它作为一个子元素来添加);如果你想拥有一个新的元素,并将它放入其中,somewhere
textContent是一个你可以获取或设置的属性,只需要一个唯一的语句,而不需要其他任何东西,因此它很有用;;,因此当您只想更改已存在的 element的的内容时,它非常有用
现在,在您的问题的确切情况下,您说要更改元素的文本...( the text of the element)。
更清楚地说,假设您有以下HTML元素:
<span>Original text</span>如果您使用的是您的第一个解决方案:
var my_text = document.createTextNode('Hello!');
span.appendChild(my_text);然后,它将以:
<span>Original textHello!</span>因为你追加了你的textNode。
因此,您应该使用第二种解决方案。
https://stackoverflow.com/questions/31643204
复制相似问题