这篇翻译不完整。请帮忙从英语翻译这篇文章。
概要
返回特定元素的属性, 返回值是 attr 节点类型
语法
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元素上调用这个方法时, getAttributeNode会将字的参数转变为小写形式,即你不用attrName 是否与HTML元素上的大小写是否一致.
Attr node是继承于Node, 跟 Document, Element是同一级别, 但它不是文档树的一部分, Node上定义的常用属性,如 parentNode, previousSibling, 和 nextSibling 对于 Attr节点来说都为空, Attr node 也有自己的属性,比如 ownerElement 可以查询到拥有这个属性的Element.
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 |
getAttributeNode |
getAttributeNodeNS |
hasAttribute (DOM 2) |
hasAttributeNS |
- | - |
removeAttribute (DOM 1) |
removeAttributeNS |
removeAttributeNode |
- |