DOM - 節點物件



Node 介面是整個文件物件模型的主要資料型別。節點用於表示整個文件樹中的單個 XML 元素。

節點可以是任何型別的節點,例如屬性節點、文字節點或任何其他節點。屬性nodeName、nodeValueattributes 作為一種機制包含在內,用於獲取節點資訊,而無需轉換為特定的派生介面。

屬性

下表列出了Node 物件的屬性 -

屬性 型別 描述
attributes NamedNodeMap 此屬性型別為NamedNodeMap,包含此節點的屬性(如果它是元素)或 null。此屬性已移除。請參考 規範
baseURI DOMString 它用於指定節點的絕對基本 URI。
childNodes NodeList 它是一個NodeList,包含此節點的所有子節點。如果沒有子節點,則它是一個不包含任何節點的NodeList
firstChild Node 它指定節點的第一個子節點。
lastChild Node 它指定節點的最後一個子節點。
localName DOMString 它用於指定節點本地部分的名稱。此屬性已移除。請參考 規範
namespaceURI DOMString 它指定節點的名稱空間 URI。此屬性已移除。請參考 規範
nextSibling Node 它返回緊隨此節點之後的節點。如果沒有這樣的節點,則返回 null。
nodeName DOMString 此節點的名稱,具體取決於其型別。
nodeType 無符號短整型 它是一個程式碼,表示底層物件的型別。
nodeValue DOMString 它用於指定節點的值,具體取決於它們的型別。
ownerDocument Document 它指定與節點關聯的Document 物件。
parentNode Node 此屬性指定節點的父節點。
prefix DOMString 此屬性返回節點的名稱空間字首。此屬性已移除。請參考 規範
previousSibling Node 它指定緊接在當前節點之前的節點。
textContent DOMString 它指定節點的文字內容。

節點型別

我們已將節點型別列出如下 -

  • ELEMENT_NODE
  • ATTRIBUTE_NODE
  • ENTITY_NODE
  • ENTITY_REFERENCE_NODE
  • DOCUMENT_FRAGMENT_NODE
  • TEXT_NODE
  • CDATA_SECTION_NODE
  • COMMENT_NODE
  • PROCESSING_INSTRUCTION_NODE
  • DOCUMENT_NODE
  • DOCUMENT_TYPE_NODE
  • NOTATION_NODE

方法

下表列出了不同的節點物件方法 -

序號 方法及描述
1 appendChild(Node newChild)

此方法在指定元素節點的最後一個子節點之後新增一個節點。它返回新增的節點。

2 cloneNode(boolean deep)

此方法用於建立重複節點,在派生類中重寫時使用。它返回重複的節點。

3 compareDocumentPosition(Node other)

此方法用於根據文件順序比較當前節點相對於指定節點的位置。返回無符號短整型,表示節點相對於參考節點的位置。

4

getFeature(DOMString feature, DOMString version)

返回實現指定功能和版本的專門 API 的 DOM 物件(如果有),或者如果不存在物件則返回 null。此屬性已移除。請參考 規範

5

getUserData(DOMString key)

檢索與此節點上的鍵關聯的物件。必須首先透過使用相同鍵呼叫 setUserData 將物件設定為此節點。返回與此節點上的給定鍵關聯的 DOMUserData,或者如果不存在則返回 null。此屬性已移除。請參考 規範

6

hasAttributes()

返回此節點(如果它是元素)是否具有任何屬性。如果指定節點中存在任何屬性,則返回true,否則返回false此屬性已移除。請參考 規範

7 hasChildNodes()

返回此節點是否具有任何子節點。如果當前節點具有子節點,則此方法返回true,否則返回false

8 insertBefore(Node newChild, Node refChild)

此方法用於將新節點作為此節點的子節點插入,直接位於此節點的現有子節點之前。它返回正在插入的節點。

9 isDefaultNamespace(DOMString namespaceURI)

此方法接受名稱空間 URI 作為引數,如果名稱空間是給定節點上的預設名稱空間,則返回值為true布林值,否則返回false

10 isEqualNode(Node arg)

此方法測試兩個節點是否相等。如果節點相等,則返回true,否則返回false

11

isSameNode(Node other)

此方法返回當前節點是否與給定節點相同。如果節點相同,則返回true,否則返回false此屬性已移除。請參考 規範

12

isSupported(DOMString feature, DOMString version)

此方法返回當前節點是否支援指定的 DOM 模組。如果此節點上支援指定的特性,則返回true,否則返回false此屬性已移除。請參考 規範

13 lookupNamespaceURI(DOMString prefix)

此方法獲取與名稱空間字首關聯的名稱空間的 URI。

14 lookupPrefix(DOMString namespaceURI)

此方法返回當前名稱空間中為名稱空間 URI 定義的最接近的字首。如果找到關聯的名稱空間字首,則返回該字首,否則返回 null。

15 normalize()

規範化新增所有文字節點,包括定義規範形式的屬性節點,其中包含元素、註釋、處理指令、CDATA 部分和實體引用的節點結構將文字節點分開,即沒有相鄰的文字節點或空文字節點。

16 removeChild(Node oldChild)

此方法用於從當前節點中刪除指定的子節點。它返回刪除的節點。

17 replaceChild(Node newChild, Node oldChild)

此方法用於用新節點替換舊子節點。它返回被替換的節點。

18

setUserData(DOMString key, DOMUserData data, UserDataHandler handler)

此方法將物件與此節點上的鍵關聯。稍後可以透過使用相同鍵呼叫getUserData 從此節點檢索該物件。它返回以前與此節點上的給定鍵關聯的DOMUserData此屬性已移除。請參考 規範

廣告