XML DOM - Element 物件
Element 物件
Element 物件代表 XML 文件中的一個元素。元素可以包含屬性、其他元素或文字。如果元素包含文字,則文字將以文字節點的形式表示。
重要! 文字始終儲存在文字節點中。DOM 處理中的一個常見錯誤是導航到元素節點並期望它包含文字。然而,即使是最簡單的元素節點,其下方也有一個文字節點。例如,在 <year>2005</year> 中,有一個元素節點 (year),在其下方有一個文字節點,其中包含文字 (2005)。
由於 Element 物件也是一個 Node,因此它繼承了 Node 物件的屬性和方法。
Element 物件屬性
| 屬性 | 描述 |
|---|---|
| attributes | 返回元素的屬性的 NamedNodeMap |
| baseURI | 返回元素的絕對基 URI |
| childNodes | 返回元素的子節點的 NodeList |
| firstChild | 返回元素的第一個子節點 |
| lastChild | 返回元素的最後一個子節點 |
| localName | 返回元素的名稱的區域性部分 |
| namespaceURI | 返回元素的名稱空間 URI |
| nextSibling | 返回緊跟在元素之後的節點 |
| nodeName | 返回節點的名稱,具體取決於其型別 |
| nodeType | 返回節點的型別 |
| ownerDocument | 返回元素的根元素(文件物件) |
| parentNode | 返回元素的父節點 |
| prefix | 設定或返回元素的名稱空間字首 |
| previousSibling | 返回緊靠元素之前的節點 |
| schemaTypeInfo | 返回與元素關聯的型別資訊 |
| tagName | 返回元素名稱 |
| textContent | 設定或返回元素及其後代的文字內容 |
Element 物件方法
| 方法 | 描述 |
|---|---|
| appendChild() | 將新的子節點新增到節點子節點列表的末尾 |
| cloneNode() | 克隆節點 |
| compareDocumentPosition() | 比較兩個節點的文件位置 |
| getAttribute() | 返回值屬性 |
| getAttributeNS() | 返回值屬性(帶名稱空間) |
| getAttributeNode() | 返回一個 Attribute 物件形式的屬性節點 |
| getAttributeNodeNS() | 返回一個 Attribute 物件形式的屬性節點(帶名稱空間) |
| getElementsByTagName() | 返回匹配的元素節點及其子節點的 NodeList |
| getElementsByTagNameNS() | 返回匹配的元素節點(帶名稱空間)及其子節點的 NodeList |
| getFeature(feature,version) | 返回實現指定功能和版本專門 API 的 DOM 物件 |
| getUserData(key) | 返回與此節點上的鍵關聯的物件。該物件必須首先透過使用相同的鍵呼叫 setUserData 來設定到此節點 |
| hasAttribute() | 返回一個元素是否具有與指定名稱匹配的任何屬性 |
| hasAttributeNS() | 返回一個元素是否具有與指定名稱和名稱空間匹配的任何屬性 |
| hasAttributes() | 返回一個元素是否具有任何屬性 |
| hasChildNodes() | 返回一個元素是否具有任何子節點 |
| insertBefore() | 在現有子節點之前插入新的子節點 |
| isDefaultNamespace(URI) | 返回指定的 namespaceURI 是否為預設 |
| isEqualNode() | 檢查兩個節點是否相等 |
| lookupNamespaceURI() | 返回匹配指定字首的名稱空間 URI |
| lookupPrefix() | 返回匹配指定名稱空間 URI 的字首 |
| normalize() | 將此元素下的所有文字節點(包括屬性)放入“正常”形式,其中只有結構(例如,元素、註釋、處理指令、CDATA 部分和實體引用)分隔文字節點,即不存在相鄰的文字節點或空文字節點 |
| removeAttribute() | 移除指定的屬性 |
| removeAttributeNS() | 移除指定的屬性(帶名稱空間) |
| removeAttributeNode() | 移除指定的屬性節點 |
| removeChild() | 移除子節點 |
| replaceChild() | 替換子節點 |
| setUserData(key,data,handler) | 將物件與元素上的鍵關聯 |
| setAttribute() | 新增新屬性 |
| setAttributeNS() | 新增新屬性(帶名稱空間) |
| setAttributeNode() | 新增新屬性節點 |
| setAttributeNodeNS(attrnode) | 新增新屬性節點(帶名稱空間) |
| setIdAttribute(name,isId) | 如果 Attribute 物件的 isId 屬性為 true,則此方法宣告指定的屬性為使用者定義的 ID 屬性 |
| setIdAttributeNS(uri,name,isId) | 如果 Attribute 物件的 isId 屬性為 true,則此方法宣告指定的屬性(帶名稱空間)為使用者定義的 ID 屬性 |
| setIdAttributeNode(idAttr,isId) | 如果 Attribute 物件的 isId 屬性為 true,則此方法宣告指定的屬性為使用者定義的 ID 屬性 |