我的代码是这样的
var tariffdate = PriceSheet.children('TariffEffDate')[1].text;
我希望在
TariffEffDate
标记内获取数据的位置。但这给了我undefined
。我可以得到
<TariffEffDate>1999-01-01T00:00:00</TariffEffDate>
作为代码的结果 console.log(PriceSheet.children('TariffEffDate')[1])
但是,当我添加
.text
以在该节点内获取数据时,它就是给我undefined
。谁能指出我在这里做错了什么?
最佳答案
您需要使用Node.nodeValue
而不是.text
。.children('TariffEffDate')[1]
将为您提供继承HTMLElement
的Node
,但不会为您提供叶节点,这意味着此HTMLElement可能具有多个子级。这就是为什么您无法获得(技术上)多个子节点的价值的原因。您可以通过调用Node.firstChild
来访问第一个节点。
本质上,您希望最终代码为:
var tariffdate = PriceSheet.children('TariffEffDate')[1].firstChild.nodeValue;