Element 對象表示 XML 文檔中的元素。
XML DOM - Element 對象
Element 對象
Element 對象表示 XML 文檔中的元素。元素可包含屬性、其他元素或文本。如果元素含有文本,則在文本節點中表示該文本。
重要事項:文本永遠存儲在文本節點中。在 DOM 處理過程中的一個常見的錯誤是,導航到元素節點,并認為此節點含有文本。不過,即使最簡單的元素節點之下也擁有文本節點。舉例,在 <year>2005</year> 中,有一個元素節點(year),同時此節點之下存在一個文本節點,其中含有文本(2005)。
由于元素對象也是一種節點,因此它可繼承 Node 對象的屬性和方法。
Element 對象的屬性
| 屬性 | 描述 | IE | F | O | W3C |
|---|---|---|---|---|---|
| attributes | 返回元素的屬性的 NamedNodeMap | 5 | 1 | 9 | Yes |
| baseURI | 返回元素的絕對基準 URI | No | 1 | No | Yes |
| childNodes | 返回元素的子節點的 NodeList | 5 | 1 | 9 | Yes |
| firstChild | 返回元素的首個子節點 | 5 | 1 | 9 | Yes |
| lastChild | 返回元素的最后一個子節點 | 5 | 1 | 9 | Yes |
| localName | 返回元素名稱的本地部分 | No | 1 | 9 | Yes |
| namespaceURI | 返回元素的命名空間 URI | No | 1 | 9 | Yes |
| nextSibling | 返回元素之后緊跟的節點 | 5 | 1 | 9 | Yes |
| nodeName | 返回節點的名稱,依據其類型。 | 5 | 1 | 9 | Yes |
| nodeType | 返回節點的類型 | 5 | 1 | 9 | Yes |
| ownerDocument | 返回元素所屬的根元素 (document 對象) | 5 | 1 | 9 | Yes |
| parentNode | 返回元素的父節點 | 5 | 1 | 9 | Yes |
| prefix | 設置或返回元素的命名空間前綴 | No | 1 | 9 | Yes |
| previousSibling | 返回元素之前緊隨的節點 | 5 | 1 | 9 | Yes |
| schemaTypeInfo | 返回與元素相關聯的類型信息 | No | Yes | ||
| tagName | 返回元素的名稱 | 5 | 1 | 9 | Yes |
| textContent | 設置或返回元素及其后代的文本內容 | No | 1 | No | Yes |
| text | 返回節點及其后代的文本 (IE-only) | 5 | No | No | No |
| xml | 返回節點及其后代的 XML (IE-only) | 5 | No | No | No |
Element 對象的方法
| 方法 | 描述 | IE | F | O | W3C |
|---|---|---|---|---|---|
| appendChild() | 向節點的子節點列表末尾添加新的子節點。 | 5 | 1 | 9 | Yes |
| cloneNode() | 克隆節點。 | 5 | 1 | 9 | Yes |
| compareDocumentPosition() | 比較兩節點的文檔位置。 | No | 1 | No | Yes |
| dispatchEvent() | 給節點分派一個合成事件。 | No | 1 | 9 | Yes |
| getAttribute() | 返回屬性的值。 | 5 | 1 | 9 | Yes |
| getAttributeNS() | 返回屬性的值。 | No | 1 | 9 | Yes |
| getAttributeNode() | 以 Attribute 對象返回屬性節點。 | 5 | 1 | 9 | Yes |
| getAttributeNodeNS() | 以 Attribute 對象返回屬性節點。 | No | 9 | Yes | |
| getElementsByTagName() | 找到具有指定標簽名的子孫元素。 | 5 | 1 | 9 | Yes |
| getElementsByTagNameNS() | 找到具有指定標簽名和命名空間的元素。 | No | 1 | 9 | Yes |
| getFeature(feature,version) | 返回 DOM 對象,此對象可執行擁有指定特性和版本的專門的 API。 | No | Yes | ||
| getUserData(key) | 返回關聯節點上鍵的對象。此對象必須首先通過使用相同的鍵來調用 setUserData 來設置到此節點。 | No | Yes | ||
| hasAttribute() | 返回元素是否擁有指定的屬性。 | 5 | 1 | 9 | Yes |
| hasAttributeNS() | 返回元素是否擁有指定的屬性。 | No | 1 | 9 | Yes |
| hasAttributes() | 返回元素是否擁有屬性。 | 5 | 1 | 9 | Yes |
| hasChildNodes() | 返回元素是否擁有子節點。 | 5 | 1 | 9 | Yes |
| insertBefore() | 在已有的子節點之前插入一個新的子節點。 | 5 | 1 | 9 | Yes |
| isDefaultNamespace(URI) | 返回指定的命名空間 URI 是否為默認。 | No | Yes | ||
| isEqualNode() | 檢查兩節點是否相等。 | No | No | No | Yes |
| isSameNode() | 檢查兩節點是否為同一節點。 | No | 1 | No | Yes |
| isSupported(feature,version) | 返回指定的特性是否在此元素上得到支持。 | 9 | Yes | ||
| lookupNamespaceURI() | 返回匹配指定前綴的命名空間 URI。 | No | 1 | No | Yes |
| lookupPrefix() | 返回匹配指定的命名空間 URI 的前綴。 | No | 1 | No | Yes |
| normalize() | 5 | 1 | 9 | Yes | |
| removeAttribute() | 刪除指定的屬性。 | 5 | 1 | 9 | Yes |
| removeAttributeNS() | 刪除指定的屬性。 | No | 1 | 9 | Yes |
| removeAttributeNode() | 刪除指定的屬性節點。 | 5 | 1 | 9 | Yes |
| removeChild() | 刪除子節點。 | 5 | 1 | 9 | Yes |
| replaceChild() | 替換子節點。 | 5 | 1 | 9 | Yes |
| setUserData(key,data,handler) | 把對象關聯到元素上的鍵。 | No | Yes | ||
| setAttribute() | 添加新屬性。 | 5 | 1 | 9 | Yes |
| setAttributeNS() | 添加新屬性。 | 1 | 9 | Yes | |
| setAttributeNode() | 添加新的屬性節點。 | 5 | 1 | 9 | Yes |
| setAttributeNodeNS(attrnode) | 添加新的屬性節點。 | 9 | Yes | ||
| setIdAttribute(name,isId) | 如果 Attribute 對象 isId 屬性為 true,那么此方法會把指定的屬性聲明為一個用戶確定 ID 的屬性(user-determined ID attribute)。 | No | Yes | ||
| setIdAttributeNS(uri,name,isId) | 如果 Attribute 對象 isId 屬性為 true,那么此方法會把指定的屬性聲明為一個用戶確定 ID 的屬性(user-determined ID attribute)(帶有命名空間)。 | No | Yes | ||
| setIdAttributeNode(idAttr,isId) | 如果 Attribute 對象 isId 屬性為 true,那么此方法會把指定的屬性聲明為一個用戶確定 ID 的屬性(user-determined ID attribute)。 | No | Yes |








