HTML DOM Attribute 对象属性与方法

Attr对象

在HTMl DOM中,Attr对象表示HTML属性
HTML属性始终属于HTML元素

NamedNodeMap对象

在HTML DOM中,NamedNodeMap对象表示元素属性节点的无序集合。
NamedNodeMap中的节点可通过名称或索引(数字)来访问。

属性和方法

属性 / 方法描述
attr.isId如果属性是 id 类型,则返回 true,否则返回 false。
attr.name返回属性的名称。
attr.value设置或返回属性的值。
attr.specified如果已指定属性,则返回 true,否则返回 false。
nodemap.getNamedItem()从 NamedNodeMap 返回指定的属性节点。
nodemap.item()返回 NamedNodeMap 中位于指定下标的节点。
nodemap.length返回 NamedNodeMap 中的节点数。
nodemap.removeNamedItem()移除指定的属性节点。
nodemap.setNamedItem()设置指定的属性节点(通过名称)。

DOM4 警告!

在W3C DOM Core中,Attr(attribute)对象从Node对象继承所有属性和方法。
在DOM4中,Attr对象不再从Node继承。
为了保证未来的代码安全,您应该避免在属性对象上使用节点对象的属性和方法:

属性 / 方法避免的理由
attr.appendChild()属性没有子节点。
attr.attributes属性没有属性。
attr.baseURI使用 document.baseURI 代替。
attr.childNodes属性没有子节点。
attr.cloneNode()使用 attr.value 代替。
attr.firstChild属性没有子节点。
attr.hasAttributes()属性没有属性。
attr.hasChildNodes属性没有子节点。
attr.insertBefore()属性没有子节点。
attr.isEqualNode()没有意义。
attr.isSameNode()没有意义。
attr.isSupported()始终为 true。
attr.lastChild属性没有子节点。
attr.nextSibling属性没有同级节点。
attr.nodeName使用 attr.name 代替。
attr.nodeType始终为 2 (ATTRIBUTE_NODE)。
attr.nodeValue使用 attr.value 代替。
attr.normalize()属性无法被正常化。
attr.ownerDocument始终是您的 HTML 文档。
attr.ownerElement这是您用来访问该属性的 HTML 元素。
attr.parentNode这是您用来访问该属性的 HTML 元素。
attr.previousSibling属性没有同级节点。
attr.removeChild属性没有子节点。
attr.replaceChild属性没有子节点。
attr.textContent使用 attr.value 代替。