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 | 返回元素所屬的根元素 (document 對象)。 |
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() | 檢查兩個節點是否相等。 |
isSameNode() | 檢查兩個節點是否為同一節點。 |
isSupported(feature,version) | 返回指定的特性是否在此元素上得到支持。 |
lookupNamespaceURI() | 返回匹配指定首碼的命名空間 URI。 |
lookupPrefix() | 返回匹配指定命名空間 URI 的首碼。 |
normalize() | 把節點(包括屬性)下的所有文本節點放置到一個"標準"的格式中,其中只有結構(比如元素、注釋、處理指令、CDATA 區段以及實體引用)來分隔 Text 節點,例如,既沒有相鄰的 Text 節點,也沒有空的 Text 節點。 |
removeAttribute() | 刪除指定的屬性。 |
removeAttributeNS() | 刪除指定的屬性(帶有命名空間)。 |
removeAttributeNode() | 刪除指定的屬性節點。 |
removeChild() | 刪除子節點。 |
replaceChild() | 替換子節點。 |
setUserData(key,data,handler) | 把對象關聯到元素上的鍵。 |
setAttribute() | 添加新屬性。 |
setAttributeNS() | 添加新屬性(帶有命名空間)。 |
setAttributeNode() | 添加新的屬性節點。 |
setAttributeNodeNS(attrnode) | 添加新的屬性節點(帶有命名空間)。 |
setIdAttribute(name,isId) | 如果 Attribute 對象的 isId 屬性為 true,那麼此方法會把指定的屬性聲明為一個用戶確定 ID 的屬性(user-determined ID attribute)。 |
setIdAttributeNS(uri,name,isId) | 如果 Attribute 對象的 isId 屬性為 true,那麼此方法會把指定的屬性聲明為一個用戶確定 ID 的屬性(user-determined ID attribute)(帶有命名空間)。 |
setIdAttributeNode(idAttr,isId) | 如果 Attribute 對象的 isId 屬性為 true,那麼此方法會把指定的屬性聲明為一個用戶確定 ID 的屬性(user-determined ID attribute)。 |