使用 DOM 節點時需要一些屬性和方法,因此我們首先來討論節點的屬性和方法。DOM 節點的屬性主要有:
nodeName
報告節點的名稱(詳見下述)。nodeValue
提供節點的 “值”(詳見後述)。parentNode
返回節點的父節點。記住,每個元素、屬性和文本都有一個父節點。childNodes
是節點的孩子節點列表。對於 HTML,該列表僅對元素有意義,文本節點和屬性節點都沒有孩子。firstChild
僅僅是childNodes
列表中第一個節點的快捷方式。lastChild
是另一種快捷方式,表示childNodes
列表中的最後一個節點。previousSibling
返回當前節點之前 的節點。換句話說,它返回當前節點的父節點的childNodes
列表中位於該節點前面的那個節點(如果感到迷惑,重新讀前面一句)。nextSibling
類似於previousSibling
屬性,返回父節點的childNodes
列表中的下一個節點。attributes
僅用於元素節點,返回元素的屬性列表。
其他少數幾種屬性實際上僅用於更一般的 XML 文檔,在處理基於 HTML 的網頁時沒有多少用處。
接下來看看所有節點都具有的方法(與節點屬性一樣,我省略了實際上不適用於多數 HTML DOM 操作的少數方法):
insertBefore(newChild, referenceNode)
將newChild
節點插入到referenceNode
之前。記住,應該對newChild
的目標父節點調用該方法。replaceChild(newChild, oldChild)
用newChild
節點替換oldChild
節點。removeChild(oldChild)
從運行該方法的節點中刪除oldChild
節點。appendChild(newChild)
將newChild
添加到運行該函數的節點之中。newChild
被添加到目標節點孩子列表中的末端。hasChildNodes()
在調用該方法的節點有孩子時則返回 true,否則返回 false。hasAttributes()
在調用該方法的節點有屬性時則返回 true,否則返回 false。
與屬性處理有關的方法:
getAttribute(name)
返回名爲name
的屬性值。removeAttribute(name)
刪除名爲name
的屬性。setAttribute(name, value)
創建一個名爲name
的屬性並將其值設爲value
。getAttributeNode(name)
返回名爲name
的屬性節點(屬性節點在 下一節 介紹)。removeAttributeNode(node)
刪除與指定節點匹配的屬性節點。