对于DOM中的给定文本节点,可以使用这些属性来检索其文本:如何检索DOM Text节点的文本?
- 的textContent
- 数据
- 的nodeValue
-
wholeText
但是使用哪一个? =哪一个是最可靠的和跨浏览器...
(如果有多个属性是100%可靠和跨浏览器,那么其中一个将是最合适?)
更新:
其实,wholeText
是不是一种选择,因为它返回文本节点的拼接文本和所有兄弟文本节点...
对于DOM中的给定文本节点,可以使用这些属性来检索其文本:如何检索DOM Text节点的文本?
但是使用哪一个? =哪一个是最可靠的和跨浏览器...
(如果有多个属性是100%可靠和跨浏览器,那么其中一个将是最合适?)
更新:
其实,wholeText
是不是一种选择,因为它返回文本节点的拼接文本和所有兄弟文本节点...
nodeValue
应该是是跨浏览器兼容的。 It is part of the original DOM Level 2 specification.
也看看compatibility table of quirksmode.org(这是我总是用来查看哪些浏览器支持哪些属性)。
我有良好的结果的nodeValue。
我想我会用'数据' - 它更短,它是专门为文本节点定义的... –
简洁是机智的灵魂。 ;) – canon
我用'data' :)得到了很好的结果:)。 – 2011-10-07 17:52:20
当你100%确定它是一个文本节点时,你可以使用它们中的任何一个。
这是不正确的。 'textContent'只在IE 9中引入。 –
Ok,IE再次:) –
@AronWoost我的想法是,其中一个是最合适的,我想使用那个。 –
如果你看一下这个怪癖模式表,你会注意到在IE 5.5中'nodeValue'是“不完整的”,而在那个浏览器中完全支持'data'。它不能不那么相关,但仍然是......':'' –
'data'也是DOM Level 2规范的一部分,在'CharacterData'接口下。 *没有DOM对象直接对应于CharacterData,尽管Text和其他对象继承了它的接口*(通过:http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID- FF21A306) – 2011-10-07 17:56:04
@ŠimeVidas:是的,但是如果你看一下注释,那么你会发现'nodeValue'在IE 5.5中不支持* attribute nodes *,所以对于文本节点来说很好。老实说,我不知道'data'; –