天天看點

DOM元素操作方法(擷取元素或者操作元素)

什麼是 DOM?

DOM 是 W3C(網際網路聯盟)的标準。

DOM 定義了通路 HTML 和 XML 文檔的标準:

“W3C 文檔對象模型 (DOM) 是中立于平台和語言的接口,它允許程式和腳本動态地通路和更新文檔的内容、結構和樣式。”

W3C DOM 标準被分為 3 個不同的部分:

核心 DOM - 針對任何結構化文檔的标準模型

XML DOM - 針對 XML 文檔的标準模型

HTML DOM - 針對 HTML 文檔的标準模型

編者注:DOM 是 Document Object Model(文檔對象模型)的縮寫。

什麼是 HTML DOM?

HTML DOM 是:

HTML 的标準對象模型

HTML 的标準程式設計接口

W3C 标準

HTML DOM 定義了所有 HTML 元素的對象和屬性,以及通路它們的方法。

換言之,HTML DOM 是關于如何擷取、修改、添加或删除 HTML 元素的标準。

在本例中:

<title>

DOM 教程

</title>

,元素節點

<title>

,包含值為 “DOM 教程” 的文本節點。

可通過節點的 innerHTML 屬性來通路文本節點的值。

HTML DOM節點

節點父、子和同胞

節點樹中的節點彼此擁有層級關系。

父(parent)、子(child)和同胞(sibling)等術語用于描述這些關系。父節點擁有子節點。同級的子節點被稱為同胞(兄弟或姐妹)。

在節點樹中,頂端節點被稱為根(root)

每個節點都有父節點、除了根(它沒有父節點)

一個節點可擁有任意數量的子

同胞是擁有相同父節點的節點

下面的圖檔展示了節點樹的一部分,以及節點之間的關系:

DOM元素操作方法(擷取元素或者操作元素)

以下均為屬性

parentNode 屬性以 Node 對象的形式傳回指定節點的父節點。

如果指定節點沒有父節點,則傳回 null。

firstChild

lastChild

nextSibling 該節點緊跟的上一個同胞節點

previoutSibling 該節點緊跟的下一個同胞節點

HTML DOM 方法

方法是我們可以在節點(HTML 元素)上執行的動作。

HTML DOM 對象 - 方法和屬性

一些常用的 HTML DOM 方法:

getElementById(id) - 擷取帶有指定 id 的節點(元素)

appendChild(node) - 插入新的子節點(元素)

removeChild(node) - 删除子節點(元素)

一些常用的 HTML DOM 屬性:

innerHTML - 節點(元素)的文本值

parentNode - 節點(元素)的父節點

childNodes - 節點(元素)的子節點

attributes - 節點(元素)的屬性節點

DOM元素操作方法(擷取元素或者操作元素)

insertBefore()相對于appendChild()更靈活。

replaceChild():參數

注意:兩個函數都是新節點在前。

HTML DOM 屬性

屬性是節點(HTML 元素)的值,您能夠擷取或設定。

innerHTML 屬性

擷取元素内容的最簡單方法是使用 innerHTML 屬性。

innerHTML 屬性對于擷取或替換 HTML 元素的内容很有用。

nodeName 屬性

nodeName 屬性規定節點的名稱。

  • nodeName 是隻讀的
  • 元素節點的 nodeName 與标簽名相同,與tagName的差別
  • 屬性節點的 nodeName 與屬性名相同
  • 文本節點的 nodeName 始終是 #text
  • 文檔節點的 nodeName 始終是 #document

注釋:nodeName 始終包含 HTML 元素的大寫字母标簽名。

nodeValue 屬性

nodeValue 屬性規定節點的值。

  • 元素節點的 nodeValue 是 undefined 或 null(筆試考)
  • 文本節點的 nodeValue 是文本本身
  • 屬性節點的 nodeValue 是屬性值

nodeType 屬性

nodeType 屬性傳回節點的類型。nodeType 是隻讀的。

比較重要的節點類型有:

DOM元素操作方法(擷取元素或者操作元素)

繼續閱讀