gpt4 book ai didi

javascript - 为什么 NodeList[0] 和 node = NodeList[0] 的行为不同?

转载 作者:行者123 更新时间:2023-11-28 12:04:00 25 4
gpt4 key购买 nike

在下面的代码摘录中,products是一个xml节点列表,其结构为:

<products>
<product>
<id>1</id>
<name>item1</name>
</product>
<product>
<id>2</id>
<name>item2</name>
</product>
</products>



xml = httpRequest.responseXML
products = xml.getElementsByTagName('products')


products[0].constructor
//=>ElementConstructor

product = products[0]
//=><product>…</product>

product.constructor
//=>ElementConstructor

product.getElementsByTagName('id')
//[ <id>1</id> ]

for(product in products){product.getElementsByTagName('id')}
//=>TypeError: 'undefined' is not a function (evaluating 'product.getElementsByTagName('id')')

如何迭代每个 <product> <products> 中的元素元素,并仅选择标签

最佳答案

您的问题标题并不代表问题所在。一个NodeList可以像数组一样进行迭代:

for(var i = 0; i < products.length; i++) {
var product = products[i];
// ...
}

你正在做for in环形。 product然后引用没有 0 的键(即 1getElementsByTagName 、...) .

关于javascript - 为什么 NodeList[0] 和 node = NodeList[0] 的行为不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12034440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com