getElementsByAttribute()不是函数

时间:2016-07-07 19:33:59

标签: javascript google-chrome

我有以下代码来获取元素的属性:

document.getElementsByAttribute("xlink:href",id);

我收到此错误:

  

未捕获的TypeError:document.getElementsByAttribute不是函数

我不明白出了什么问题,它不是标准的chrome功能吗?

3 个答案:

答案 0 :(得分:8)

来自documentation

  

请注意,此方法仅适用于XUL元素;它不是W3CDOM的一部分。

使用此:

document.querySelectorAll("[xlink|href='"+id+"']");

答案 1 :(得分:7)

  

它不是Chrome标准功能吗?

不,不是。

来自MDN

  

请注意,此方法仅适用于XUL元素;它不是W3C DOM的一部分。

请考虑使用querySelectorAll代替an attribute selector

答案 2 :(得分:0)

注意:在控制台中你会得到如下信息:
示例文本。[做任何事情...]
示例文本。[做任何事情...]
但是在您的浏览器中,您将获得一切。
在浏览器中尝试。
You will get something like this in your browser's console.

let elements = (() => {
  let aa = document.querySelectorAll('*')
  let bb = []
  aa.forEach(function(el) {
    if (el.getAttribute('Otag')) bb.push(el)
  })
  return bb
})();
console.log(elements); //You should get all the HTML elements containing that [attr] attribute in an array
<div attr="aa">Example text.[Do anything...]</div>
<div attr="bb">Example text.[Do anything...]</div>