Element.getAttributeNode()
概要
返回指定元素的指定属性节点
语法
var attrNode = element.getAttributeNode(attrName);
attrNode
获得的属性返回值,是Attr 节点, nodeType 为 2attrName
是一个包含属性名称的 字符串
举例
// html: <div id="top" /> var t = document.getElementById("top"); var idAttr = t.getAttributeNode("id"); alert(idAttr.value == "top")
注意
当在一个被标记为HTML文档的DOM中的HTML元素上调用这个方法时, getAttributeNode会将参数转变为小写形式。
Attr 节点继承自Node,但不被认为是文档树的一部分。Node上定义的常用属性,如 parentNode, previousSibling, 和 nextSibling 对于 Attr节点来说都为null。然而,你可以使用 ownerElement 来得到拥有这个属性的元素。
getAttribute 通常用于替换getAttributeNode方法,来获得元素的属性值。性能也更快. 性能对比是 element.id 大于 element.getAttribute('id') 大于 element.getAttributeNode('id').nodeValue.
DOM methods dealing with element's attributes:
Not namespace-aware, most commonly used methods | Namespace-aware variants (DOM Level 2) | DOM Level 1 methods for dealing with Attr nodes directly (seldom used) |
DOM Level 2 namespace-aware methods for dealing with Attr nodes directly (seldom used) |
---|---|---|---|
setAttribute (DOM 1) |
setAttributeNS |
setAttributeNode |
setAttributeNodeNS |
getAttribute (DOM 1) |
getAttributeNS (en-US) |
getAttributeNode |
getAttributeNodeNS |
hasAttribute (DOM 2) |
hasAttributeNS |
- | - |
removeAttribute (DOM 1) |
removeAttributeNS |
removeAttributeNode |
- |