可能重复:
如何检索 DOM 文本节点的文本?
在我处理 DOM 突变观察者的实验中,我注意到当target
是一个文本节点时,有四个字段都包含该节点的新文本。
data
nodeValue
textContent
wholeText
对于我应该使用哪些字段,是否有“最佳实践”?
有些只是为了与其他浏览器或旧 DOM 标准兼容?我是在阅读还是在修改文本有区别吗?如果一个是最好的,其他的目的是什么?
可能重复:
如何检索 DOM 文本节点的文本?
在我处理 DOM 突变观察者的实验中,我注意到当target
是一个文本节点时,有四个字段都包含该节点的新文本。
data
nodeValue
textContent
wholeText
对于我应该使用哪些字段,是否有“最佳实践”?
有些只是为了与其他浏览器或旧 DOM 标准兼容?我是在阅读还是在修改文本有区别吗?如果一个是最好的,其他的目的是什么?
在所有这些中,我会选择data
:它是为实现CharacterData接口(文本和注释接口)的节点定义的。尝试为其他人访问此属性会给出undefined
.
nodeValue本质上与data
文本节点相同,但实际上也是为属性和注释节点定义的。而且我通常希望我的程序尽早失败。)
textContent对我来说是完全不同的东西,因为它代表节点及其后代的文本内容。这与wholeText 一起,也许应该更多地用于从更复杂的结构中收集文本,而不是单个文本节点。
说了这么多,textContent
并wholeText
在 DOM Level 3 中定义(=更现代)。