HTML DOM 屬性對(duì)象

2023-04-07 14:21 更新

HTML DOM 節(jié)點(diǎn)

在 HTML DOM (Document Object Model) 中, 所有的都是 節(jié)點(diǎn)

  • 文檔是文檔節(jié)點(diǎn)
  • 所有 HTML 元素是元素節(jié)點(diǎn)
  • 所有 HTML 屬性都是屬性節(jié)點(diǎn)
  • 插入到 HTML 元素中的文本為文本節(jié)點(diǎn)
  • 注釋是注釋節(jié)點(diǎn)

Attr 對(duì)象

在 HTML DOM 中, Attr 對(duì)象 代表一個(gè) HTML 屬性。

HTML屬性總是屬于HTML元素。


NamedNodeMap 對(duì)象

在 HTML DOM 中, the NamedNodeMap 對(duì)象 表示一個(gè)無(wú)順序的節(jié)點(diǎn)列表。

我們可通過(guò)節(jié)點(diǎn)名稱來(lái)訪問(wèn) NamedNodeMap 中的節(jié)點(diǎn)。


瀏覽器支持

Internet Explorer Firefox Opera Google Chrome Safari

所有主流瀏覽器都支持 Attr 對(duì)象和 NamedNodeMap 對(duì)象。


屬性 / 方法 描述
attr.isId 如果屬性是 ID 類型,則 isId 屬性返回 true,否則返回 false。
attr.name 返回屬性名稱
attr.value 設(shè)置或者返回屬性值
attr.specified 如果屬性被指定返回 true,否則返回 false
   
nodemap.getNamedItem() 從節(jié)點(diǎn)列表中返回的指定屬性節(jié)點(diǎn)。
nodemap.item() 返回節(jié)點(diǎn)列表中處于指定索引號(hào)的節(jié)點(diǎn)。
nodemap.length 返回節(jié)點(diǎn)列表的節(jié)點(diǎn)數(shù)目。
nodemap.removeNamedItem() 刪除指定屬性節(jié)點(diǎn)
nodemap.setNamedItem() 設(shè)置指定屬性節(jié)點(diǎn)(通過(guò)名稱)


DOM 4 警告 !!!

在 W3C DOM 內(nèi)核中, Attr (屬性) 對(duì)象繼承節(jié)點(diǎn)對(duì)象的所有屬性和方法 。

在 DOM 4 中, Attr (屬性) 對(duì)象不再?gòu)墓?jié)點(diǎn)對(duì)象中繼承。

從長(zhǎng)遠(yuǎn)的代碼質(zhì)量來(lái)考慮,在屬性對(duì)象中你需要避免使用節(jié)點(diǎn)對(duì)象屬性和方法:

屬性 / 方法 避免原因
attr.appendChild() 屬性沒有子節(jié)點(diǎn)
attr.attributes 屬性沒有屬性
attr.baseURI 使用 document.baseURI 替代
attr.childNodes 屬性沒有子節(jié)點(diǎn)
attr.cloneNode() 使用 attr.value 替代
attr.firstChild 屬性沒有子節(jié)點(diǎn)
attr.hasAttributes() 屬性沒有屬性
attr.hasChildNodes 屬性沒有子節(jié)點(diǎn)
attr.insertBefore() 屬性沒有子節(jié)點(diǎn)
attr.isEqualNode() 沒有意義
attr.isSameNode() 沒有意義
attr.isSupported() 通常為 true
attr.lastChild 屬性沒有子節(jié)點(diǎn)
attr.nextSibling 屬性沒有兄弟節(jié)點(diǎn)
attr.nodeName 使用 attr.name 替代
attr.nodeType 通常為 2 (ATTRIBUTE-NODE)
attr.nodeValue 使用 attr.value 替代
attr.normalize() 屬性沒有規(guī)范
attr.ownerDocument 通常為你的 HTML 文檔
attr.ownerElement 你用來(lái)訪問(wèn)屬性的 HTML 元素
attr.parentNode 你用來(lái)訪問(wèn)屬性的 HTML 元素
attr.previousSibling 屬性沒有兄弟節(jié)點(diǎn)
attr.removeChild 屬性沒有子節(jié)點(diǎn)
attr.replaceChild 屬性沒有子節(jié)點(diǎn)
attr.textContent 使用 attr.value 替代


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)