如何获取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。您可以使用 for
和 list.length
对其进行循环
在元素
上获得属性的NamedNodeMap
var nnm = elem.attributes;
nnm
将是 Array-like 但不会继承自 Array。您可以使用 for
和 nnm.length
对其进行循环
要获取元素上属性的值,请使用.getAttribute
var val = elem.getAttribute('myAttribute');
val
将是 null
如果没有这样的 属性
要测试 属性 在 元素 上的存在性,请使用 .hasAttribute
var b = elem.hasAttribute('myAttribute');
b
将是一个 布尔值 ,true
或 false
这是一个演示代码:
<div id="demo" myAttribute="ok"></div>
这是我想要的 2 样东西
1)属性名,即:'myAttribute'.
2)包含属性'myAttribute'的元素,即:div.
使用 jQuery 你可以做这样的事情。
div = $("[myAttribute]");
attrValue = div.attr('myAttribute');
div
将是 jQuery 元素。
attrValue
将是 'ok'
获取与选择器
匹配的节点的NodeListvar list = document.querySelectorAll('[myAttribute]');
list
将是 Array-like 但不是继承自 Array。您可以使用 for
和 list.length
在元素
上获得属性的NamedNodeMapvar nnm = elem.attributes;
nnm
将是 Array-like 但不会继承自 Array。您可以使用 for
和 nnm.length
要获取元素上属性的值,请使用.getAttribute
var val = elem.getAttribute('myAttribute');
val
将是 null
如果没有这样的 属性
要测试 属性 在 元素 上的存在性,请使用 .hasAttribute
var b = elem.hasAttribute('myAttribute');
b
将是一个 布尔值 ,true
或 false