50

可能重复:
如何检索 DOM 文本节点的文本?

在我处理 DOM 突变观察者的实验中,我注意到当target是一个文本节点时,有四个字段都包含该节点的新文本。

  • data
  • nodeValue
  • textContent
  • wholeText

对于我应该使用哪些字段,是否有“最佳实践”?

有些只是为了与其他浏览器或旧 DOM 标准兼容?我是在阅读还是在修改文本有区别吗?如果一个是最好的,其他的目的是什么?

4

1 回答 1

45

在所有这些中,我会选择data:它是为实现CharacterData接口(文本注释接口)的节点定义的。尝试为其他人访问此属性会给出undefined.

nodeValue本质上与data文本节点相同,但实际上也是为属性和注释节点定义的。而且我通常希望我的程序尽早失败。)

textContent对我来说是完全不同的东西,因为它代表节点及其后代的文本内容。这与wholeText 一起,也许应该更多地用于从更复杂的结构中收集文本,而不是单个文本节点。

说了这么多,textContentwholeText在 DOM Level 3 中定义(=更现代)。

于 2012-09-05T17:57:42.567 回答