public interface Element
implements Node
org.w3c.dom.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 。
Inherited constants |
---|
From interface org.w3c.dom.Node
|
Public methods |
|
---|---|
abstract String |
getAttribute(String name) 按名称检索属性值。 |
abstract String |
getAttributeNS(String namespaceURI, String localName) 通过本地名称和名称空间URI检索属性值。 |
abstract Attr |
getAttributeNode(String name) 按名称检索属性节点。 |
abstract Attr |
getAttributeNodeNS(String namespaceURI, String localName) 通过本地名称和名称空间URI检索 |
abstract NodeList |
getElementsByTagName(String name) 返回 |
abstract NodeList |
getElementsByTagNameNS(String namespaceURI, String localName) 返回 |
abstract TypeInfo |
getSchemaTypeInfo() 与此元素关联的类型信息。 |
abstract String |
getTagName() 元素的名称。 |
abstract boolean |
hasAttribute(String name) 返回 |
abstract boolean |
hasAttributeNS(String namespaceURI, String localName) 返回 |
abstract void |
removeAttribute(String name) 按名称删除属性。 |
abstract void |
removeAttributeNS(String namespaceURI, String localName) 通过本地名称和名称空间URI删除一个属性。 |
abstract Attr |
removeAttributeNode(Attr oldAttr) 删除指定的属性节点。 |
abstract void |
setAttribute(String name, String value) 添加一个新属性。 |
abstract void |
setAttributeNS(String namespaceURI, String qualifiedName, String value) 添加一个新属性。 |
abstract Attr |
setAttributeNode(Attr newAttr) 添加一个新的属性节点。 |
abstract Attr |
setAttributeNodeNS(Attr newAttr) 添加一个新属性。 |
abstract void |
setIdAttribute(String name, boolean isId) 如果参数 |
abstract void |
setIdAttributeNS(String namespaceURI, String localName, boolean isId) 如果参数 |
abstract void |
setIdAttributeNode(Attr idAttr, boolean isId) 如果参数 |
Inherited methods |
|
---|---|
From interface org.w3c.dom.Node
|
String getAttribute (String name)
按名称检索属性值。
Parameters | |
---|---|
name |
String : The name of the attribute to retrieve. |
Returns | |
---|---|
String |
The Attr value as a string, or the empty string if that attribute does not have a specified or default value. |
String getAttributeNS (String namespaceURI, String localName)
通过本地名称和名称空间URI检索属性值。
根据[ XML Namespaces ],如果应用程序希望没有命名空间,则必须使用值null
作为方法的namespaceURI
参数。
Parameters | |
---|---|
namespaceURI |
String : The namespace URI of the attribute to retrieve. |
localName |
String : The local name of the attribute to retrieve. |
Returns | |
---|---|
String |
The Attr value as a string, or the empty string if that attribute does not have a specified or default value. |
Throws | |
---|---|
DOMException |
NOT_SUPPORTED_ERR: May be raised if the implementation does not support the feature "XML" and the language exposed through the Document does not support XML Namespaces (such as [HTML 4.01]). |
Attr getAttributeNode (String name)
按名称检索属性节点。
要通过限定名称和名称空间URI检索属性节点,请使用getAttributeNodeNS
方法。
Parameters | |
---|---|
name |
String : The name (nodeName ) of the attribute to retrieve. |
Returns | |
---|---|
Attr |
The Attr node with the specified name ( nodeName ) or null if there is no such attribute. |
Attr getAttributeNodeNS (String namespaceURI, String localName)
通过本地名称和名称空间URI检索Attr
节点。
根据[ XML Namespaces ],如果应用程序希望没有命名空间,则必须将值null
用作方法的namespaceURI
参数。
Parameters | |
---|---|
namespaceURI |
String : The namespace URI of the attribute to retrieve. |
localName |
String : The local name of the attribute to retrieve. |
Returns | |
---|---|
Attr |
The Attr node with the specified attribute local name and namespace URI or null if there is no such attribute. |
Throws | |
---|---|
DOMException |
NOT_SUPPORTED_ERR: May be raised if the implementation does not support the feature "XML" and the language exposed through the Document does not support XML Namespaces (such as [HTML 4.01]). |
NodeList getElementsByTagName (String name)
返回 NodeList
所有子孙的 Elements
具有给定标记名称,在文档顺序。
Parameters | |
---|---|
name |
String : The name of the tag to match on. The special value "*" matches all tags. |
Returns | |
---|---|
NodeList |
A list of matching Element nodes. |
NodeList getElementsByTagNameNS (String namespaceURI, String localName)
返回 NodeList
所有后代的 Elements
具有给定本地名称和命名空间URI在文档顺序。
Parameters | |
---|---|
namespaceURI |
String : The namespace URI of the elements to match on. The special value "*" matches all namespaces. |
localName |
String : The local name of the elements to match on. The special value "*" matches all local names. |
Returns | |
---|---|
NodeList |
A new NodeList object containing all the matched Elements . |
Throws | |
---|---|
DOMException |
NOT_SUPPORTED_ERR: May be raised if the implementation does not support the feature "XML" and the language exposed through the Document does not support XML Namespaces (such as [HTML 4.01]). |
String getTagName ()
元素的名称。 如果Node.localName
与null
不同,则此属性是限定名称。 例如,在:
<elementExample id="demo"> ... </elementExample> ,
tagName
has the value
"elementExample"
. Note that this is case-preserving in XML, as are all of the operations of the DOM. The HTML DOM returns the
tagName
of an HTML element in the canonical uppercase form, regardless of the case in the source HTML document.
Returns | |
---|---|
String |
boolean hasAttribute (String name)
返回 true
在此元素上被指定给定名称的属性或具有默认值, false
否则。
Parameters | |
---|---|
name |
String : The name of the attribute to look for. |
Returns | |
---|---|
boolean |
true if an attribute with the given name is specified on this element or has a default value, false otherwise. |
boolean hasAttributeNS (String namespaceURI, String localName)
返回true
在此元素上被指定或具有默认值,与给定的本地名称和命名空间的属性URI false
否则。
根据[ XML Namespaces ],如果应用程序希望没有命名空间,则必须将值null
用作方法的namespaceURI
参数。
Parameters | |
---|---|
namespaceURI |
String : The namespace URI of the attribute to look for. |
localName |
String : The local name of the attribute to look for. |
Returns | |
---|---|
boolean |
true if an attribute with the given local name and namespace URI is specified or has a default value on this element, false otherwise. |
Throws | |
---|---|
DOMException |
NOT_SUPPORTED_ERR: May be raised if the implementation does not support the feature "XML" and the language exposed through the Document does not support XML Namespaces (such as [HTML 4.01]). |
void removeAttribute (String name)
按名称删除属性。 如果在DTD中定义了已删除属性的默认值,则在适用时,新属性会立即显示默认值以及相应的名称空间URI,本地名称和前缀。 该实现可以类似地处理来自其他模式的默认值,但应用程序应该使用Document.normalizeDocument()
来保证该信息是最新的。
如果未找到具有此名称的属性,则此方法不起作用。
要通过本地名称和名称空间URI删除属性,请使用removeAttributeNS
方法。
Parameters | |
---|---|
name |
String : The name of the attribute to remove. |
Throws | |
---|---|
DOMException |
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. |
void removeAttributeNS (String namespaceURI, String localName)
通过本地名称和名称空间URI删除一个属性。 如果在DTD中定义了已删除属性的默认值,则在适用时,新属性会立即显示默认值以及相应的名称空间URI,本地名称和前缀。 该实现可能类似地处理来自其他模式的默认值,但应用程序应使用Document.normalizeDocument()
来保证此信息是最新的。
如果未找到具有此本地名称和名称空间URI的属性,则此方法不起作用。
根据[ XML Namespaces ],如果应用程序希望没有命名空间,则必须使用值null
作为方法的namespaceURI
参数。
Parameters | |
---|---|
namespaceURI |
String : The namespace URI of the attribute to remove. |
localName |
String : The local name of the attribute to remove. |
Throws | |
---|---|
DOMException |
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. NOT_SUPPORTED_ERR: May be raised if the implementation does not support the feature "XML" and the language exposed through the Document does not support XML Namespaces (such as [HTML 4.01]). |
Attr removeAttributeNode (Attr oldAttr)
删除指定的属性节点。 如果在DTD中定义了已删除的Attr
节点的默认值,则在适用时,新节点会立即显示默认值以及相应的名称空间URI,本地名称和前缀。 该实现可以类似地处理来自其他模式的默认值,但是应用程序应该使用Document.normalizeDocument()
来保证这些信息是最新的。
Parameters | |
---|---|
oldAttr |
Attr : The Attr node to remove from the attribute list. |
Returns | |
---|---|
Attr |
The Attr node that was removed. |
Throws | |
---|---|
DOMException |
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. NOT_FOUND_ERR: Raised if oldAttr is not an attribute of the element. |
void setAttribute (String name, String value)
添加一个新属性。 如果具有该名称的属性已存在于该元素中,则其值将更改为值参数的值。 这个值是一个简单的字符串; 它没有被分析,因为它正在被设置。 因此,任何标记(例如被识别为实体引用的语法)都被视为文本文本,并且在写出时需要由实现进行适当转义。 为了分配包含实体引用的属性值,用户必须创建一个Attr
节点加上任何Text
和EntityReference
节点,构建适当的子树,并使用setAttributeNode
将其指定为属性的值。
要使用限定名称和名称空间URI设置属性,请使用setAttributeNS
方法。
Parameters | |
---|---|
name |
String : The name of the attribute to create or alter. |
value |
String : Value to set in string form. |
Throws | |
---|---|
DOMException |
INVALID_CHARACTER_ERR: Raised if the specified name is not an XML name according to the XML version in use specified in the Document.xmlVersion attribute. NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. |
void setAttributeNS (String namespaceURI, String qualifiedName, String value)
添加一个新属性。 如果元素中已经存在具有相同本地名称和名称空间URI的属性,则其前缀将更改为qualifiedName
的前缀部分,并将其值更改为value
参数。 这个值是一个简单的字符串; 它没有被分析,因为它正在被设置。 因此,任何标记(例如被识别为实体引用的语法)都被视为文本文本,并且在写出时需要由实现进行适当转义。 为了分配包含实体引用的属性值,用户必须创建一个Attr
节点加上任何Text
和EntityReference
节点,构建适当的子树,并使用setAttributeNodeNS
或setAttributeNode
将其指定为属性的值。
根据[ XML Namespaces ],如果应用程序希望没有命名空间,则必须将值null
用作方法的namespaceURI
参数。
Parameters | |
---|---|
namespaceURI |
String : The namespace URI of the attribute to create or alter. |
qualifiedName |
String : The qualified name of the attribute to create or alter. |
value |
String : The value to set in string form. |
Throws | |
---|---|
DOMException |
INVALID_CHARACTER_ERR: Raised if the specified qualified name is not an XML name according to the XML version in use specified in the Document.xmlVersion attribute. NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. NAMESPACE_ERR: Raised if the qualifiedName is malformed per the Namespaces in XML specification, if the qualifiedName has a prefix and the namespaceURI is null , if the qualifiedName has a prefix that is "xml" and the namespaceURI is different from " http://www.w3.org/XML/1998/namespace", if the qualifiedName or its prefix is "xmlns" and the namespaceURI is different from "http://www.w3.org/2000/xmlns/", or if the namespaceURI is "http://www.w3.org/2000/xmlns/" and neither the qualifiedName nor its prefix is "xmlns". NOT_SUPPORTED_ERR: May be raised if the implementation does not support the feature "XML" and the language exposed through the Document does not support XML Namespaces (such as [HTML 4.01]). |
Attr setAttributeNode (Attr newAttr)
添加一个新的属性节点。 如果具有该名称的属性( nodeName
)已经存在于该元素中,它将被替换为新的属性。 本身替换属性节点不起作用。
要使用限定名称和名称空间URI添加新的属性节点,请使用setAttributeNodeNS
方法。
Parameters | |
---|---|
newAttr |
Attr : The Attr node to add to the attribute list. |
Returns | |
---|---|
Attr |
If the newAttr attribute replaces an existing attribute, the replaced Attr node is returned, otherwise null is returned. |
Throws | |
---|---|
DOMException |
WRONG_DOCUMENT_ERR: Raised if newAttr was created from a different document than the one that created the element. NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. INUSE_ATTRIBUTE_ERR: Raised if newAttr is already an attribute of another Element object. The DOM user must explicitly clone Attr nodes to re-use them in other elements. |
Attr setAttributeNodeNS (Attr newAttr)
添加一个新属性。 如果具有该本地名称和该名称空间URI的属性已经存在于该元素中,则它将被新的替换。 本身替换属性节点不起作用。
根据[ XML Namespaces ],如果应用程序希望没有名称空间,则必须将值null
用作方法的namespaceURI
参数。
Parameters | |
---|---|
newAttr |
Attr : The Attr node to add to the attribute list. |
Returns | |
---|---|
Attr |
If the newAttr attribute replaces an existing attribute with the same local name and namespace URI, the replaced Attr node is returned, otherwise null is returned. |
Throws | |
---|---|
DOMException |
WRONG_DOCUMENT_ERR: Raised if newAttr was created from a different document than the one that created the element. NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. INUSE_ATTRIBUTE_ERR: Raised if newAttr is already an attribute of another Element object. The DOM user must explicitly clone Attr nodes to re-use them in other elements. NOT_SUPPORTED_ERR: May be raised if the implementation does not support the feature "XML" and the language exposed through the Document does not support XML Namespaces (such as [HTML 4.01]). |
void setIdAttribute (String name, boolean isId)
如果参数isId
是true
,则此方法将指定的属性声明为用户确定的ID属性。 这会影响价值Attr.isId
和行为Document.getElementById
,但不会改变,可能是在使用中的任何模式,特别是这并不影响Attr.schemaTypeInfo
指定的Attr
节点。 使用参数isId
的值false
来isId
声明属性是用户确定的ID属性。
要按本地名称和名称空间URI指定属性,请使用setIdAttributeNS
方法。
Parameters | |
---|---|
name |
String : The name of the attribute. |
isId |
boolean : Whether the attribute is a of type ID. |
Throws | |
---|---|
DOMException |
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. NOT_FOUND_ERR: Raised if the specified node is not an attribute of this element. |
void setIdAttributeNS (String namespaceURI, String localName, boolean isId)
如果参数isId
是true
,则此方法将指定的属性声明为用户确定的ID属性。 这会影响价值Attr.isId
和行为Document.getElementById
,但不会改变,可能是在使用中的任何模式,特别是这并不影响Attr.schemaTypeInfo
指定的Attr
节点。 使用参数isId
的值false
可以isId
声明属性是用户确定的ID属性。
Parameters | |
---|---|
namespaceURI |
String : The namespace URI of the attribute. |
localName |
String : The local name of the attribute. |
isId |
boolean : Whether the attribute is a of type ID. |
Throws | |
---|---|
DOMException |
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. NOT_FOUND_ERR: Raised if the specified node is not an attribute of this element. |
void setIdAttributeNode (Attr idAttr, boolean isId)
如果参数isId
是true
,则此方法将指定的属性声明为用户确定的ID属性。 这会影响价值Attr.isId
和行为Document.getElementById
,但不会改变,可能是在使用中的任何模式,特别是这并不影响Attr.schemaTypeInfo
指定的Attr
节点。 使用参数isId
的值false
来isId
声明属性是用户确定的ID属性。
Parameters | |
---|---|
idAttr |
Attr : The attribute node. |
isId |
boolean : Whether the attribute is a of type ID. |
Throws | |
---|---|
DOMException |
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. NOT_FOUND_ERR: Raised if the specified node is not an attribute of this element. |