如何获取JavaScript中元素的属性值?

How can I get the attribute value of an element in JavaScript?

这是一个演示代码:

<div id="demo" myAttribute="ok"></div>

这是我想要的 2 样东西
1)属性名,即:'myAttribute'.
2)包含属性'myAttribute'的元素,即:div.

使用 jQuery 你可以做这样的事情。

div = $("[myAttribute]");
attrValue = div.attr('myAttribute');

div 将是 jQuery 元素。
attrValue 将是 'ok'

获取与选择器

匹配的节点NodeList
var list = document.querySelectorAll('[myAttribute]');

list 将是 Array-like 但不是继承自 Array。您可以使用 forlist.length

对其进行循环

元素

上获得属性NamedNodeMap
var nnm = elem.attributes;

nnm 将是 Array-like 但不会继承自 Array。您可以使用 fornnm.length

对其进行循环

要获取元素属性,请使用.getAttribute

var val = elem.getAttribute('myAttribute');

val 将是 null 如果没有这样的 属性


要测试 属性 元素 上的存在性,请使用 .hasAttribute

var b = elem.hasAttribute('myAttribute');

b 将是一个 布尔值 truefalse