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 代替。