有什么方法可以在Web浏览器中更改DOM textNode的值吗?
我特别想看看是否可以更改现有节点,而不是创建一个新节点。
为了澄清,我需要使用Javascript来做到这一点。浏览器中的所有文本都存储在#textNodes中,它们是其他HTML节点的子节点,但不能拥有自己的子节点。
如下所述,可以通过设置这些对象的nodeValue属性来更改内容。
有什么方法可以在Web浏览器中更改DOM textNode的值吗?
我特别想看看是否可以更改现有节点,而不是创建一个新节点。
为了澄清,我需要使用Javascript来做到这一点。浏览器中的所有文本都存储在#textNodes中,它们是其他HTML节点的子节点,但不能拥有自己的子节点。
如下所述,可以通过设置这些对象的nodeValue属性来更改内容。
innerHTML
使用的安全通知,并赞成textContent
使用。使用textContent
对我来说很好。
Answers:
如果您有一个特定的节点(类型为#text),并且想要更改其值,则可以使用nodeValue属性:
node.nodeValue="new value";
注意:
innerText(和 可能 textContent)将同时返回/设置当前节点和所有后代节点的文本,因此可能不是您想要/期望的行为。
我相信将innerHTML用于此操作...再说一次,那是未经W3C批准的...但是它可以正常工作...
node.innerHTML="new value";
innerHTML
它,因为它在阅读和书写时都将代码视为文本。
nodeValue
在文本节点上设置,而不是其父元素。