JavaTM 2 Platform
Standard Ed. 6

org.w3c.dom
介面 Element

所有父級介面:
Node
所有已知子介面:
Detail, DetailEntry, SOAPBody, SOAPBodyElement, SOAPElement, SOAPEnvelope, SOAPFault, SOAPFaultElement, SOAPHeader, SOAPHeaderElement
所有已知實作類別:
IIOMetadataNode

public interface Element
extends Node

Element 介面表示 HTML 或 XML 文檔中的一個元素。元素可能有與它們相關的屬性;由於 Element 介面繼承自 Node,所以可以使用一般 Node 介面屬性 attributes 來獲得元素所有屬性的集合。Element 介面上有通過名稱獲得 Attr 物件或通過名稱獲得屬性值的方法。在 XML 中(其中的屬性值可能包含實體參考),應該獲得 Attr 物件來檢查表示屬性值的可能相當複雜的子階層樹。另一方面,在 HTML 中(其中的所有屬性都有簡單的字元串值),可以使用直接存取屬性值的方法,這既安全又便捷。

註:在 DOM Level 2 中,方法 normalize 是從轉移到的 Node 介面繼承的。

另請參見 Document Object Model (DOM) Level 3 Core Specification


欄位摘要
 
從介面 org.w3c.dom.Node 繼承的欄位
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
方法摘要
 String getAttribute(String name)
          通過名稱獲得屬性值。
 Attr getAttributeNode(String name)
          通過名稱獲得屬性節點。
 Attr getAttributeNodeNS(String namespaceURI, String localName)
          通過本地名稱和名稱空間 URI 獲得 Attr 節點。
 String getAttributeNS(String namespaceURI, String localName)
          通過本地名稱和名稱空間 URI 獲得屬性值。
 NodeList getElementsByTagName(String name)
          以文檔順序返回具有給定標記名稱的所有後代 ElementsNodeList
 NodeList getElementsByTagNameNS(String namespaceURI, String localName)
          以文檔順序返回具有給定本地名稱和名稱空間 URI 的所有後代 ElementsNodeList
 TypeInfo getSchemaTypeInfo()
          與此元素相關的型別資訊。
 String getTagName()
          元素的名稱。
 boolean hasAttribute(String name)
          當具有給定名稱的屬性在此元素上被指定一個值或具有預設值時,返回 true;否則返回 false
 boolean hasAttributeNS(String namespaceURI, String localName)
          當具有給定本地名稱和名稱空間 URI 的屬性在此元素上被指定一個值或具有預設值時,返回 true;否則返回 false
 void removeAttribute(String name)
          通過名稱移除一個屬性。
 Attr removeAttributeNode(Attr oldAttr)
          移除指定的屬性節點。
 void removeAttributeNS(String namespaceURI, String localName)
          通過本地名稱和名稱空間 URI 移除屬性值。
 void setAttribute(String name, String value)
          添加一個新屬性。
 Attr setAttributeNode(Attr newAttr)
          添加新的屬性節點。
 Attr setAttributeNodeNS(Attr newAttr)
          添加新屬性。
 void setAttributeNS(String namespaceURI, String qualifiedName, String value)
          添加新屬性。
 void setIdAttribute(String name, boolean isId)
          如果參數 isIdtrue,則此方法將指定的屬性宣告為用於確定使用者的 ID 屬性。
 void setIdAttributeNode(Attr idAttr, boolean isId)
          如果參數 isIdtrue,則此方法將指定的屬性宣告為使用者確定的 ID 屬性。
 void setIdAttributeNS(String namespaceURI, String localName, boolean isId)
          如果參數 isIdtrue,則此方法將指定的屬性宣告為使用者確定的 ID 屬性。
 
從介面 org.w3c.dom.Node 繼承的方法
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
 

方法詳細資訊

getTagName

String getTagName()
元素的名稱。如果 Node.localNamenull 不同,則此屬性為一個限定名稱。例如,在以下範例中:
 <elementExample id="demo"> ... 
 </elementExample> , 
tagName 具有值 "elementExample"。注意,這在 XML 中是保留大小寫的,DOM 中的所有操作也是這樣。HTML DOM 以規範的大寫形式返回 HTML 元素的 tagName,而不考慮源 HTML 文檔中的大小寫形式。


getAttribute

String getAttribute(String name)
通過名稱獲得屬性值。

參數:
name - 要獲得的屬性名稱。
返回:
字元串形式的 Attr 值;如果該屬性沒有指定值或預設值,則返回空字元串。

setAttribute

void setAttribute(String name,
                  String value)
                  throws DOMException
添加一個新屬性。如果具有該名稱的屬性已經出現在元素中,則將其值更改為值參數的值。此值為簡單的字元串;在設置它時沒有對它進行解析。因此,將任何標記(如作為實體參考而被識別的語法)視為文字值文本,並且需要在寫出時由實作適當轉義。為了分派包含實體參考的屬性值,使用者必須創建一個 Attr 節點,加上所有 TextEntityReference 節點,建構適當的子階層樹,並將它作為屬性值,通過 setAttributeNode 方法來分派。
要設置具有限定名稱和名稱空間 URI 的屬性,使用 setAttributeNS 方法。

參數:
name - 要創建或更改的屬性名稱。
value - 以字元串形式設置的值。
拋出:
DOMException - INVALID_CHARACTER_ERR: 根據在 Document.xmlVersion 屬性中指定的正在使用的 XML 版本,如果指定名稱不是 XML 名稱,則引發此異常。
NO_MODIFICATION_ALLOWED_ERR: 如果此節點為只讀的,則引發此異常。

removeAttribute

void removeAttribute(String name)
                     throws DOMException
通過名稱移除一個屬性。如果被移除屬性的預設值在 DTD 中定義,則新的屬性值將在可用時隨該預設值以及相應名稱空間 URI、本地名稱和前綴立即出現。類似地,實作可以處理其他網要的預設值,但應用程序應該使用 Document.normalizeDocument() 來保證此資訊最新。
如果找不到具有此名稱的屬性,則此方法無效。
要通過本地名稱和名稱空間 URI 移除屬性,使用 removeAttributeNS 方法。

參數:
name - 要移除的屬性的名稱。
拋出:
DOMException - NO_MODIFICATION_ALLOWED_ERR: 如果此節點為只讀的,則引發此異常。

getAttributeNode

Attr getAttributeNode(String name)
通過名稱獲得屬性節點。
要通過限定名稱和名稱空間 URI 獲得屬性節點,使用 getAttributeNodeNS 方法。

參數:
name - 要獲得的屬性名稱 (nodeName)。
返回:
返回具有指定名稱 (nodeName) 的 Attr 節點;如果沒有這樣的屬性,則返回 null

setAttributeNode

Attr setAttributeNode(Attr newAttr)
                      throws DOMException
添加新的屬性節點。如果具有該名稱 (nodeName) 的屬性已經出現在元素中,則用新屬性替換它。用自身替換屬性節點無效。
要添加具有限定名稱和名稱空間 URI 的新屬性節點,使用 setAttributeNodeNS 方法。

參數:
newAttr - 要添加到屬性列表的 Attr 節點。
返回:
如果用 newAttr 屬性替換現有屬性,則返回被替換的 Attr 節點;否則返回 null
拋出:
DOMException - WRONG_DOCUMENT_ERR: 如果 newAttr 是從不同的文檔創建的,不是從創建該元素的文檔創建的,則引發此異常。
NO_MODIFICATION_ALLOWED_ERR: 如果此節點為只讀的,則引發此異常。
INUSE_ATTRIBUTE_ERR: 如果 newAttr 已經是另一個 Element 物件的屬性,則引發此異常。DOM 使用者必須顯式地複製 Attr 節點,以便在其他元素中重新使用它們。

removeAttributeNode

Attr removeAttributeNode(Attr oldAttr)
                         throws DOMException
移除指定的屬性節點。如果在 DTD 中定義了被移除 Attr 節點的預設值,則新的節點將在可用時隨該預設值以及相應名稱空間 URI、本地名稱和前綴一起立即出現。類似地,實作可以處理其他網要的預設值,但應用程序應該使用 Document.normalizeDocument() 來保證此資訊最新。

參數:
oldAttr - 從屬性列表中移除的 Attr 節點。
返回:
被移除的 Attr 節點。
拋出:
DOMException - NO_MODIFICATION_ALLOWED_ERR: 如果此節點為只讀的,則引發此異常。
NOT_FOUND_ERR: 如果 oldAttr 不是該元素的屬性,則引發此異常。

getElementsByTagName

NodeList getElementsByTagName(String name)
以文檔順序返回具有給定標記名稱的所有後代 ElementsNodeList

參數:
name - 要比對的標記的名稱。特殊值 "*" 比對所有標記。
返回:
比對的 Element 節點列表。

getAttributeNS

String getAttributeNS(String namespaceURI,
                      String localName)
                      throws DOMException
通過本地名稱和名稱空間 URI 獲得屬性值。
按照 [XML Namespaces],如果應用程序希望沒有名稱空間,則它們必須將值 null 用作方法的 namespaceURI 參數。

參數:
namespaceURI - 要獲得的屬性的名稱空間 URI。
localName - 要獲得的屬性的本地名稱。
返回:
字元串形式的 Attr 值;如果該屬性沒有指定值或預設值,則返回空字元串。
拋出:
DOMException - NOT_SUPPORTED_ERR: 如果實作不支持功能 "XML" 且文檔中公開的語言不支持 XML 名稱空間(例如 [HTML 4.01]),則可能引發此異常。
從以下版本開始:
DOM Level 2

setAttributeNS

void setAttributeNS(String namespaceURI,
                    String qualifiedName,
                    String value)
                    throws DOMException
添加新屬性。如果具有相同本地名稱和名稱空間 URI 的屬性已經出現在元素上,則將其前綴更改為 qualifiedName 的前綴部分,並將其值更改為 value 參數。此值為簡單的字元串;在設置它時沒有對它進行解析。因此,將任何標記(如作為實體參考識別的語法)視為文字值文本,並且需要在寫出時由實作適當轉義。為了分派包含實體參考的屬性值,使用者必須創建一個 Attr 節點,加上所有 TextEntityReference 節點,建構適當的子階層樹,並使用 setAttributeNodeNSsetAttributeNode 作為屬性的值分派它。
按照 [XML Namespaces],如果應用程序希望沒有名稱空間,則它們必須將值 null 用作方法的 namespaceURI 參數。

參數:
namespaceURI - 要創建或更改的屬性的名稱空間 URI。
qualifiedName - 要創建或更改的屬性的限定名稱。
value - 以字元串形式設置的值。
拋出:
DOMException - INVALID_CHARACTER_ERR: 根據在 Document.xmlVersion 屬性中指定的正在使用的 XML 版本,如果指定名稱不是 XML 名稱,則引發此異常。
NO_MODIFICATION_ALLOWED_ERR:如果此節點為只讀的,則引發此異常。
NAMESPACE_ERR: 在以下情況下引發此異常:如果根據 XML 規範中的名稱空間,qualifiedName 是錯誤格式的;如果 qualifiedName 有前綴且 namespaceURInull;如果 qualifiedName 有名為 "xml" 的前綴且 namespaceURI 不同於 "http://www.w3.org/XML/1998/namespace";如果 qualifiedName 或其前綴為 "xmlns" 且 namespaceURI 不同於 "http://www.w3.org/2000/xmlns/";或者如果 namespaceURI 為 "http://www.w3.org/2000/xmlns/" 且 qualifiedName 及其前綴都不是 "xmlns"。
NOT_SUPPORTED_ERR:如果實作不支持功能 "XML" 且文檔中公開的語言不支持 XML 名稱空間(例如 [HTML 4.01]),則可能引發此異常。
從以下版本開始:
DOM Level 2

removeAttributeNS

void removeAttributeNS(String namespaceURI,
                       String localName)
                       throws DOMException
通過本地名稱和名稱空間 URI 移除屬性值。如果被移除屬性的預設值在 DTD 中定義,則新的屬性值將在可用時隨該預設值以及相應名稱空間 URI、本地名稱和前綴立即出現。類似地,實作可以處理其他網要的預設值,但應用程序應該使用 Document.normalizeDocument() 來保證此資訊最新。
如果找不到具有此本地名稱和名稱空間 URI 的屬性,則此方法無效。
按照 [XML Namespaces],如果應用程序希望沒有名稱空間,則它們必須將值 null 用作方法的 namespaceURI 參數。

參數:
namespaceURI - 要移除的屬性的名稱空間 URI。
localName - 要移除的屬性的本地名稱。
拋出:
DOMException - NO_MODIFICATION_ALLOWED_ERR: 如果此節點為只讀的,則引發此異常。
NOT_SUPPORTED_ERR: 如果實作不支持功能 "XML" 且文檔中公開的語言不支持 XML 名稱空間(例如 [HTML 4.01]),則可能引發此異常。
從以下版本開始:
DOM Level 2

getAttributeNodeNS

Attr getAttributeNodeNS(String namespaceURI,
                        String localName)
                        throws DOMException
通過本地名稱和名稱空間 URI 獲得 Attr 節點。
按照 [XML Namespaces],如果應用程序希望沒有名稱空間,則它們必須將值 null 用作方法的 namespaceURI 參數。

參數:
namespaceURI - 要獲得的屬性的名稱空間 URI。
localName - 要獲得的屬性的本地名稱。
返回:
具有特定屬性名稱和名稱空間 URI 的 Attr 節點;如果沒有這樣的屬性,則返回 null
拋出:
DOMException - NOT_SUPPORTED_ERR: 如果實作不支持功能 "XML" 且文檔中公開的語言不支持 XML 名稱空間(例如 [HTML 4.01]),則可能引發此異常。
從以下版本開始:
DOM Level 2

setAttributeNodeNS

Attr setAttributeNodeNS(Attr newAttr)
                        throws DOMException
添加新屬性。如果具有該本地名稱和該名稱空間 URI 的屬性已經出現在元素中,則用新的屬性替換它。用自身替換屬性節點無效。
按照 [XML Namespaces],如果應用程序希望沒有名稱空間,則它們必須將值 null 用作方法的 namespaceURI 參數。

參數:
newAttr - 要添加到屬性列表的 Attr 節點。
返回:
如果用 newAttr 屬性替換具有相同本地名稱和名稱空間 URI 的現有屬性,則返回被替換的 Attr 節點;否則返回 null
拋出:
DOMException - WRONG_DOCUMENT_ERR: 如果 newAttr 是從不同的文檔創建的,不是從創建該元素的文檔創建的,則引發此異常。
NO_MODIFICATION_ALLOWED_ERR:如果此節點為只讀的,則引發此異常。
INUSE_ATTRIBUTE_ERR: 如果 newAttr 已經是另一個 Element 物件的屬性,則引發此異常。DOM 使用者必須顯式地複製 Attr 節點,以便在其他元素中重新使用它們。
NOT_SUPPORTED_ERR: 如果實作不支持功能 "XML" 且文檔中公開的語言不支持 XML 名稱空間(例如 [HTML 4.01]),則可能引發此異常。
從以下版本開始:
DOM Level 2

getElementsByTagNameNS

NodeList getElementsByTagNameNS(String namespaceURI,
                                String localName)
                                throws DOMException
以文檔順序返回具有給定本地名稱和名稱空間 URI 的所有後代 ElementsNodeList

參數:
namespaceURI - 要比對的元素的名稱空間 URI。特殊值 "*" 比對所有名稱空間。
localName - 要比對的元素的本地名稱。特殊值 "*" 比對所有本地名稱。
返回:
包含所有比對的 Elements 的新 NodeList 物件。
拋出:
DOMException - NOT_SUPPORTED_ERR: 如果實作不支持功能 "XML" 且文檔中公開的語言不支持 XML 名稱空間(例如 [HTML 4.01]),則可能引發此異常。
從以下版本開始:
DOM Level 2

hasAttribute

boolean hasAttribute(String name)
當具有給定名稱的屬性在此元素上被指定一個值或具有預設值時,返回 true;否則返回 false

參數:
name - 要尋找的屬性名稱。
返回:
如果具有給定名稱的屬性在此元素上被指定一個值或具有預設值,則返回 true;否則返回 false
從以下版本開始:
DOM Level 2

hasAttributeNS

boolean hasAttributeNS(String namespaceURI,
                       String localName)
                       throws DOMException
當具有給定本地名稱和名稱空間 URI 的屬性在此元素上被指定一個值或具有預設值時,返回 true;否則返回 false
按照 [XML Namespaces],如果應用程序希望沒有名稱空間,則它們必須將值 null 用作方法的 namespaceURI 參數。

參數:
namespaceURI - 要尋找的屬性的名稱空間 URI。
localName - 要尋找的屬性的本地名稱。
返回:
如果具有給定本地名稱和名稱空間 URI 的屬性在此元素上被指定一個值或具有預設值,則返回 true;否則返回 false
拋出:
DOMException - NOT_SUPPORTED_ERR:如果實作不支持功能 "XML" 且文檔中公開的語言不支持 XML 名稱空間(例如 [HTML 4.01]),則可能引發此異常。
從以下版本開始:
DOM Level 2

getSchemaTypeInfo

TypeInfo getSchemaTypeInfo()
與此元素相關的型別資訊。

從以下版本開始:
DOM Level 3

setIdAttribute

void setIdAttribute(String name,
                    boolean isId)
                    throws DOMException
如果參數 isIdtrue,則此方法將指定的屬性宣告為用於確定使用者的 ID 屬性。此方法影響 Attr.isId 的值和 Document.getElementById 的行為,但不更改可能正在使用的任何網要;需要特別指出的是,此方法不影響指定 Attr 節點的 Attr.schemaTypeInfo。使用參數 isId 的值 false 來取消將屬性宣告為使用者確定的 ID 屬性。
要通過本地名稱和名稱空間 URI 指定屬性,使用 setIdAttributeNS 方法。

參數:
name - 屬性名稱。
isId - 屬性是否是 ID 型別。
拋出:
DOMException - NO_MODIFICATION_ALLOWED_ERR:如果此節點為只讀的,則引發此異常。
NOT_FOUND_ERR:如果指定的節點不是此元素的屬性,則引發此異常。
從以下版本開始:
DOM Level 3

setIdAttributeNS

void setIdAttributeNS(String namespaceURI,
                      String localName,
                      boolean isId)
                      throws DOMException
如果參數 isIdtrue,則此方法將指定的屬性宣告為使用者確定的 ID 屬性。此方法影響 Attr.isId 的值和 Document.getElementById 的行為,但不更改可能正在使用的任何網要;需要特別指出的是,此方法不影響指定 Attr 節點的 Attr.schemaTypeInfo。使用參數 isId 的值 false 來取消將屬性宣告為使用者確定的 ID 屬性。

參數:
namespaceURI - 屬性的名稱空間 URI。
name - 屬性的本地名稱。
isId - 屬性是否是 ID 型別。
拋出:
DOMException - NO_MODIFICATION_ALLOWED_ERR:如果此節點為只讀的,則引發此異常。
NOT_FOUND_ERR: 如果指定的節點不是此元素的屬性,則引發此異常。
從以下版本開始:
DOM Level 3

setIdAttributeNode

void setIdAttributeNode(Attr idAttr,
                        boolean isId)
                        throws DOMException
如果參數 isIdtrue,則此方法將指定的屬性宣告為使用者確定的 ID 屬性。此方法影響 Attr.isId 的值和 Document.getElementById 的行為,但不更改可能正在使用的任何網要;需要特別指出的是,此方法不影響指定 Attr 節點的 Attr.schemaTypeInfo。使用參數 isId 的值 false 來取消將屬性宣告為使用者確定的 ID 屬性。

參數:
idAttr - 屬性節點。
isId - 屬性是否是 ID 型別。
拋出:
DOMException - NO_MODIFICATION_ALLOWED_ERR: 如果此節點為只讀的,則引發此異常。
NOT_FOUND_ERR: 如果指定的節點不是此元素的屬性,則引發此異常。
從以下版本開始:
DOM Level 3

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only