gpt4 book ai didi

javascript - 文本节点还是文本内容?

转载 作者:行者123 更新时间:2023-12-02 22:57:57 24 4
gpt4 key购买 nike

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

假设我有一个跨度。

var span = document.getElementById('my-span');

我想更改其文本。使用有什么好处:

var my_text = document.createTextNode('Hello!');
span.appendChild(my_text);

超过

span.textContent = '你好';

最佳答案

这并不是优势的真正问题,而是根据需要正确使用的问题。

根本区别在于:

  • createTextNode() 是一个方法,正如其名称所示:它创建一个元素...然后您必须对它执行一些操作(就像在您的示例中一样,您将其附加为子);
    所以如果你想要一个新元素并将其放置在某个地方
  • textContent 是您可以获取或设置的属性,仅具有唯一的声明;
    因此,当您只想更改已存在元素的内容时,它非常有用

现在,在您的问题的具体情况下,您说您想要更改元素的文本...
更清楚地说,您有以下 HTML 元素:

<span>Original text</span>

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

var my_text = document.createTextNode('Hello!');
span.appendChild(my_text);

然后它将以以下内容结束:

<span>Original textHello!</span>

因为您附加了您的textNode

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

关于javascript - 文本节点还是文本内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31643204/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com