|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface Element
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。
欄位摘要 |
---|
方法摘要 | |
---|---|
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)
以文檔順序返回具有給定標記名稱的所有後代 Elements 的 NodeList 。 |
NodeList |
getElementsByTagNameNS(String namespaceURI,
String localName)
以文檔順序返回具有給定本地名稱和名稱空間 URI 的所有後代 Elements 的 NodeList 。 |
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)
如果參數 isId 為 true ,則此方法將指定的屬性宣告為用於確定使用者的 ID 屬性。 |
void |
setIdAttributeNode(Attr idAttr,
boolean isId)
如果參數 isId 為 true ,則此方法將指定的屬性宣告為使用者確定的 ID 屬性。 |
void |
setIdAttributeNS(String namespaceURI,
String localName,
boolean isId)
如果參數 isId 為 true ,則此方法將指定的屬性宣告為使用者確定的 ID 屬性。 |
方法詳細資訊 |
---|
String getTagName()
Node.localName
與 null
不同,則此屬性為一個限定名稱。例如,在以下範例中:
<elementExample id="demo"> ... </elementExample> ,
tagName
具有值 "elementExample"
。注意,這在 XML 中是保留大小寫的,DOM 中的所有操作也是這樣。HTML DOM 以規範的大寫形式返回 HTML 元素的 tagName
,而不考慮源 HTML 文檔中的大小寫形式。
String getAttribute(String name)
name
- 要獲得的屬性名稱。
Attr
值;如果該屬性沒有指定值或預設值,則返回空字元串。void setAttribute(String name, String value) throws DOMException
Attr
節點,加上所有 Text
和 EntityReference
節點,建構適當的子階層樹,並將它作為屬性值,通過 setAttributeNode
方法來分派。setAttributeNS
方法。
name
- 要創建或更改的屬性名稱。value
- 以字元串形式設置的值。
DOMException
- INVALID_CHARACTER_ERR: 根據在 Document.xmlVersion
屬性中指定的正在使用的 XML 版本,如果指定名稱不是 XML 名稱,則引發此異常。void removeAttribute(String name) throws DOMException
Document.normalizeDocument()
來保證此資訊最新。removeAttributeNS
方法。
name
- 要移除的屬性的名稱。
DOMException
- NO_MODIFICATION_ALLOWED_ERR: 如果此節點為只讀的,則引發此異常。Attr getAttributeNode(String name)
getAttributeNodeNS
方法。
name
- 要獲得的屬性名稱 (nodeName
)。
nodeName
) 的 Attr
節點;如果沒有這樣的屬性,則返回 null
。Attr setAttributeNode(Attr newAttr) throws DOMException
nodeName
) 的屬性已經出現在元素中,則用新屬性替換它。用自身替換屬性節點無效。setAttributeNodeNS
方法。
newAttr
- 要添加到屬性列表的 Attr
節點。
newAttr
屬性替換現有屬性,則返回被替換的 Attr
節點;否則返回 null
。
DOMException
- WRONG_DOCUMENT_ERR: 如果 newAttr
是從不同的文檔創建的,不是從創建該元素的文檔創建的,則引發此異常。newAttr
已經是另一個 Element
物件的屬性,則引發此異常。DOM 使用者必須顯式地複製 Attr
節點,以便在其他元素中重新使用它們。Attr removeAttributeNode(Attr oldAttr) throws DOMException
Attr
節點的預設值,則新的節點將在可用時隨該預設值以及相應名稱空間 URI、本地名稱和前綴一起立即出現。類似地,實作可以處理其他網要的預設值,但應用程序應該使用 Document.normalizeDocument()
來保證此資訊最新。
oldAttr
- 從屬性列表中移除的 Attr
節點。
Attr
節點。
DOMException
- NO_MODIFICATION_ALLOWED_ERR: 如果此節點為只讀的,則引發此異常。oldAttr
不是該元素的屬性,則引發此異常。NodeList getElementsByTagName(String name)
Elements
的 NodeList
。
name
- 要比對的標記的名稱。特殊值 "*" 比對所有標記。
Element
節點列表。String getAttributeNS(String namespaceURI, String localName) throws DOMException
null
用作方法的 namespaceURI
參數。
namespaceURI
- 要獲得的屬性的名稱空間 URI。localName
- 要獲得的屬性的本地名稱。
Attr
值;如果該屬性沒有指定值或預設值,則返回空字元串。
DOMException
- NOT_SUPPORTED_ERR: 如果實作不支持功能 "XML"
且文檔中公開的語言不支持 XML 名稱空間(例如 [HTML 4.01]),則可能引發此異常。void setAttributeNS(String namespaceURI, String qualifiedName, String value) throws DOMException
qualifiedName
的前綴部分,並將其值更改為 value
參數。此值為簡單的字元串;在設置它時沒有對它進行解析。因此,將任何標記(如作為實體參考識別的語法)視為文字值文本,並且需要在寫出時由實作適當轉義。為了分派包含實體參考的屬性值,使用者必須創建一個 Attr
節點,加上所有 Text
和 EntityReference
節點,建構適當的子階層樹,並使用 setAttributeNodeNS
或 setAttributeNode
作為屬性的值分派它。null
用作方法的 namespaceURI
參數。
namespaceURI
- 要創建或更改的屬性的名稱空間 URI。qualifiedName
- 要創建或更改的屬性的限定名稱。value
- 以字元串形式設置的值。
DOMException
- INVALID_CHARACTER_ERR: 根據在 Document.xmlVersion
屬性中指定的正在使用的 XML 版本,如果指定名稱不是 XML 名稱,則引發此異常。qualifiedName
是錯誤格式的;如果 qualifiedName
有前綴且 namespaceURI
為 null
;如果 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"。 "XML"
且文檔中公開的語言不支持 XML 名稱空間(例如 [HTML 4.01]),則可能引發此異常。void removeAttributeNS(String namespaceURI, String localName) throws DOMException
Document.normalizeDocument()
來保證此資訊最新。null
用作方法的 namespaceURI
參數。
namespaceURI
- 要移除的屬性的名稱空間 URI。localName
- 要移除的屬性的本地名稱。
DOMException
- NO_MODIFICATION_ALLOWED_ERR: 如果此節點為只讀的,則引發此異常。"XML"
且文檔中公開的語言不支持 XML 名稱空間(例如 [HTML 4.01]),則可能引發此異常。Attr getAttributeNodeNS(String namespaceURI, String localName) throws DOMException
Attr
節點。null
用作方法的 namespaceURI
參數。
namespaceURI
- 要獲得的屬性的名稱空間 URI。localName
- 要獲得的屬性的本地名稱。
Attr
節點;如果沒有這樣的屬性,則返回 null
。
DOMException
- NOT_SUPPORTED_ERR: 如果實作不支持功能 "XML"
且文檔中公開的語言不支持 XML 名稱空間(例如 [HTML 4.01]),則可能引發此異常。Attr setAttributeNodeNS(Attr newAttr) throws DOMException
null
用作方法的 namespaceURI
參數。
newAttr
- 要添加到屬性列表的 Attr
節點。
newAttr
屬性替換具有相同本地名稱和名稱空間 URI 的現有屬性,則返回被替換的 Attr
節點;否則返回 null
。
DOMException
- WRONG_DOCUMENT_ERR: 如果 newAttr
是從不同的文檔創建的,不是從創建該元素的文檔創建的,則引發此異常。newAttr
已經是另一個 Element
物件的屬性,則引發此異常。DOM 使用者必須顯式地複製 Attr
節點,以便在其他元素中重新使用它們。"XML"
且文檔中公開的語言不支持 XML 名稱空間(例如 [HTML 4.01]),則可能引發此異常。NodeList getElementsByTagNameNS(String namespaceURI, String localName) throws DOMException
Elements
的 NodeList
。
namespaceURI
- 要比對的元素的名稱空間 URI。特殊值 "*" 比對所有名稱空間。localName
- 要比對的元素的本地名稱。特殊值 "*" 比對所有本地名稱。
Elements
的新 NodeList
物件。
DOMException
- NOT_SUPPORTED_ERR: 如果實作不支持功能 "XML"
且文檔中公開的語言不支持 XML 名稱空間(例如 [HTML 4.01]),則可能引發此異常。boolean hasAttribute(String name)
true
;否則返回 false
。
name
- 要尋找的屬性名稱。
true
;否則返回 false
。boolean hasAttributeNS(String namespaceURI, String localName) throws DOMException
true
;否則返回 false
。null
用作方法的 namespaceURI
參數。
namespaceURI
- 要尋找的屬性的名稱空間 URI。localName
- 要尋找的屬性的本地名稱。
true
;否則返回 false
。
DOMException
- NOT_SUPPORTED_ERR:如果實作不支持功能 "XML"
且文檔中公開的語言不支持 XML 名稱空間(例如 [HTML 4.01]),則可能引發此異常。TypeInfo getSchemaTypeInfo()
void setIdAttribute(String name, boolean isId) throws DOMException
isId
為 true
,則此方法將指定的屬性宣告為用於確定使用者的 ID 屬性。此方法影響 Attr.isId
的值和 Document.getElementById
的行為,但不更改可能正在使用的任何網要;需要特別指出的是,此方法不影響指定 Attr
節點的 Attr.schemaTypeInfo
。使用參數 isId
的值 false
來取消將屬性宣告為使用者確定的 ID 屬性。setIdAttributeNS
方法。
name
- 屬性名稱。isId
- 屬性是否是 ID 型別。
DOMException
- NO_MODIFICATION_ALLOWED_ERR:如果此節點為只讀的,則引發此異常。 void setIdAttributeNS(String namespaceURI, String localName, boolean isId) throws DOMException
isId
為 true
,則此方法將指定的屬性宣告為使用者確定的 ID 屬性。此方法影響 Attr.isId
的值和 Document.getElementById
的行為,但不更改可能正在使用的任何網要;需要特別指出的是,此方法不影響指定 Attr
節點的 Attr.schemaTypeInfo
。使用參數 isId
的值 false
來取消將屬性宣告為使用者確定的 ID 屬性。
namespaceURI
- 屬性的名稱空間 URI。name
- 屬性的本地名稱。isId
- 屬性是否是 ID 型別。
DOMException
- NO_MODIFICATION_ALLOWED_ERR:如果此節點為只讀的,則引發此異常。void setIdAttributeNode(Attr idAttr, boolean isId) throws DOMException
isId
為 true
,則此方法將指定的屬性宣告為使用者確定的 ID 屬性。此方法影響 Attr.isId
的值和 Document.getElementById
的行為,但不更改可能正在使用的任何網要;需要特別指出的是,此方法不影響指定 Attr
節點的 Attr.schemaTypeInfo
。使用參數 isId
的值 false
來取消將屬性宣告為使用者確定的 ID 屬性。
idAttr
- 屬性節點。isId
- 屬性是否是 ID 型別。
DOMException
- NO_MODIFICATION_ALLOWED_ERR: 如果此節點為只讀的,則引發此異常。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。