无法使用JavaScript获取DOM元素

时间:2017-10-16 14:43:36

标签: javascript dom

我一直在阅读不同的getlementbyIDname等,但我遇到了问题。我的DOM树看起来像这样:

<suggestion>
    <term>Some text here</term>
    <term changed="true"> Some text here </term>
</suggestion>

我正在尝试获取标记名changed="true"但是当我尝试使用getElementsByTagName时,它不起作用。我也试过了querySelectorAll("term changed=true"),但它仍然不起作用。

有时候可能会有多个<term>,所以我不会尝试获取第二个元素,有时它可能是第3个,第4个或第9个元素......

如何专门获取此元素,而不是仅仅<term>的其他元素?

2 个答案:

答案 0 :(得分:1)

也许你试图用错误的选择器找到term=true。我觉得它工作得很好,我想:

https://jsfiddle.net/wdtyore1/1/

var element = document.querySelector('term[changed="true"]');

答案 1 :(得分:0)

仅仅因为这不是HTML5规范的一部分,并不意味着它不能通过JS访问

对于您的具体示例,这将为您提供已更改的值: document.getElementsByTagName('term')[1].getAttribute("changed")

请注意document.getElementsByTagName('term')返回一个数组,因此您可能希望有一个循环来查看此数组。

此外,如果您使用的是jQuery,您可以随时查找以下内容: $('term[changed]').attr('changed')