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 |