Javascript 如何检索DOM文本节点的文本?

Javascript 如何检索DOM文本节点的文本?,javascript,dom,Javascript,Dom,对于DOM中的给定文本节点,可以使用以下属性之一检索其文本: textContent 数据 nodeValue wholeText 但是用哪一个呢?哪一个是最可靠且受跨浏览器支持的 (如果多个属性是100%可靠且跨浏览器的,那么哪一个最合适?nodeValue应该是跨浏览器兼容的 此外,还可以查看相应的属性(这是我经常使用的,以查看哪些浏览器支持哪些属性)。当您100%确定它是文本节点时,您可以使用它们中的任何一个。这不是真的textContent仅在IE 9中引入。@Aronwood我的想

对于DOM中的给定文本节点,可以使用以下属性之一检索其文本:

  • textContent
  • 数据
  • nodeValue
  • wholeText
但是用哪一个呢?哪一个是最可靠且受跨浏览器支持的

(如果多个属性是100%可靠且跨浏览器的,那么哪一个最合适?

nodeValue
应该是跨浏览器兼容的


此外,还可以查看相应的属性(这是我经常使用的,以查看哪些浏览器支持哪些属性)。

当您100%确定它是文本节点时,您可以使用它们中的任何一个。

这不是真的
textContent
仅在IE 9中引入。@Aronwood我的想法是其中一个是最合适的,我想使用它。如果你看一下quirksmode表,你会注意到,
nodeValue
在IE 5.5中是“不完整的”,而
data
在该浏览器中是完全支持的。它的相关性不可能降低,但仍然<代码>:)
数据
也是DOM Level 2规范的一部分,在
CharacterData
接口下。没有DOM对象直接对应于CharacterData,尽管文本和其他对象确实从中继承接口。(via:)@ŠimeVidas:是的,但是如果你看一下注释,你会发现
nodeValue
在IE 5.5中不适用于属性节点,所以文本节点也可以。老实说,我不知道
数据
)我已经使用
data
很多年了,它在所有主流浏览器中都是坚如磐石的。现在有太多的属性和方法被命名为
data
,而这些属性和方法中的数据并不能告诉你代码在做什么。它的意思并不明显
innerText
textContent
(甚至jquery.text())使您的尝试立即变得显而易见。