如何在JavaScript
问题描述:
用的DOMParser读子元素的属性,我有这样的XML如何在JavaScript
<zone name="main">
<card number="4" price="0" name="Urza's Tower"/>
<card number="4" price="0" name="Urza's Power Plant"/>
<card number="4" price="0" name="Urza's Mine"/>
<card number="4" price="0" name="Urza's Avenger"/>
<card number="1" price="0" name="Urza's Miter"/>
<card number="4" price="0" name="Howling Mine"/>
而且我想阅读的名称属性。我尝试这一点,但它不工作:
var cards = xmlDoc.getElementsByTagName("zone")[0].childNodes;
for (var i = 0; i < cards.length; i++) {
console.log(cards[i].getAttribute("name"));
}
当我在它显示所有属性的调试程序来查看cards[i]
。我似乎无法访问它们...
谢谢!
答
问题中的代码使用.childNodes
,因此它不仅仅包含card
元素节点,还包含card
元素之间的文本节点。
得到公正的card
元素节点,使用.children
代替,就像这样:
var cards = xmlDoc.getElementsByTagName("zone")[0].children;
for (var i = 0; i < cards.length; i++) {
console.log(cards[i].getAttribute("name"));
}
尝试改变'VAR卡= ...''到VAR卡= xmlDoc.getElementsByTagName( “一卡通”); '。 – phoa