HTML DOM Attr 对象

Attr 对象

在 HTML DOM 中,Attr 对象表示 HTML 属性

HTML 属性始终属于 HTML 元素

NamedNodeMap

在 HTML DOM 中,NamedNodeMap 对象表示元素属性节点的无序集合。

换句话说:NamedNodeMap 是 Attr 对象的列表。

NamedNodeMap 拥有返回节点数的 length 属性

可以通过名称或索引号访问节点。索引从 0 开始。

Attribute 属性

属性描述
isId已被弃用。
name返回属性的名称。
value设置或返回属性的值。
specified如果已指定属性,则返回 true,否则返回 false。

NamedNodeMap 属性和方法

方法描述
getNamedItem()从 NamedNodeMap 返回属性节点(按名称)。
item()从 NamedNodeMap 返回属性节点(按索引)。
length返回 NamedNodeMap 中的属性数。
removeNamedItem()删除属性(节点)。
setNamedItem()按名称设置属性(节点)。

DOM 4 警告!

在 W3C DOM Core 中,Attr (attribute) 对象从 Node 对象继承所有属性和方法。

在 DOM 4 中,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 代替。