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