【问题标题】:How to read attribute of child element with DOMParser in JavaScript如何在 JavaScript 中使用 DOMParser 读取子元素的属性
【发布时间】:2017-04-15 13:13:06
【问题描述】:

我有这个 xml

<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] 时,它会显示所有属性。我似乎无法访问它们...

谢谢!

【问题讨论】:

  • 尝试将var cards = ... 更改为var cards = xmlDoc.getElementsByTagName("card");

标签: javascript html xml dom domparser


【解决方案1】:

问题中的代码使用.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"));
      }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多