DOM元素
XML DOM - Element 物件
#Element 物件
Element 物件代表 XML 文件中的一個元素。元素可以包含屬性、其他元素或文字。如果一個元素包含文本,則在文本節點中表示該文本。
重要事項:文字永遠儲存在文字節點中。在 DOM 處理過程中的一個常見的錯誤是,導航到元素節點,並認為此節點含有文字。不過,即使最簡單的元素節點之下也擁有文字節點。舉例,在 <year>2005</year> 中,有一個元素節點(year),同時此節點之下存在一個文本節點,其中含有文本(2005)。
由於 Element 物件也是一種節點,因此它可繼承 Node 物件的屬性和方法。
Element 物件屬性
屬性 | #描述 |
---|---|
傳回元素的屬性的NamedNodeMap。 | |
傳回元素的絕對基準 URI。 | |
傳回元素的子節點的 NodeList。 | |
傳回元素的第一個子節點。 | |
傳回元素的最後一個子節點。 | |
傳回元素名稱的本機部分。 | |
傳回元素的命名空間 URI。 | |
傳回元素之後緊接的節點。 | |
傳回節點的名稱,根據其類型。 | |
傳回節點的型別。 | |
傳回元素所屬的根元素 (document 物件)。 | |
傳回元素的父節點。 | |
設定或傳回元素的命名空間前綴。 | |
傳回元素之前緊接的節點。 | |
傳回與元素相關聯的類型資訊。 | |
傳回元素的名稱。 | |
設定或傳回元素及其後代的文字內容。 |
方法 | 描述 |
---|---|
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)。 |