XML DOM Element 對象

Element 對象

Element 對象表示 XML 文檔中的元素。元素可包含屬性、其他元素或文本。如果元素含有文本,則在文本節點中表示該文本。

重要事項:文本永遠存儲在文本節點中。在 DOM 處理過程中的一個常見的錯誤是,導航到元素節點,并認為此節點含有文本。不過,即使最簡單的元素節點之下也擁有文本節點。舉例,在 <year>2005</year> 中,有一個元素節點(year),同時此節點之下存在一個文本節點,其中含有文本(2005)。

由于 Element 對象也是一種節點,因此它可繼承 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) 返回 DOM 對象,該對象實現指定特性和版本的專用 API。
getUserData(key) 返回與節點上的鍵關聯的對象。必須首先將對象設置到此節點,通過使用相同的鍵來調用 setUserData。
hasAttribute() 返回元素是否擁有與指定名稱匹配的屬性。
hasAttributeNS() 返回元素是否擁有與指定名稱和命名空間匹配的屬性。
hasAttributes() 返回元素是否擁有屬性。
hasChildNodes() 返回該元素是否有子節點。
insertBefore() 在現有子節點之前插入新的子節點。
isDefaultNamespace(URI) 返回指定的 namespaceURI 是否是默認的。
isEqualNode() 檢查兩個節點是否相等。
lookupNamespaceURI() 返回與指定前綴匹配的命名空間 URI。
lookupPrefix() 返回與指定命名空間 URI 匹配的前綴。
normalize()

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 屬性。