public interface Element extends Node
Element interface represents an element in an HTML or XML document. Elements may have attributes associated with them; since the
Element interface inherits from
Node, the generic
Node interface attribute
attributes may be used to retrieve the set of all attributes for an element. There are methods on the
Element interface to retrieve either an
Attr object by name or an attribute value by name. In XML, where an attribute value may contain entity references, an
Attr object should be retrieved to examine the possibly fairly complex sub-tree representing the attribute value. On the other hand, in HTML, where all attributes have simple string values, methods to directly access an attribute value can safely be used as a convenience.
Note: In DOM Level 2, the method normalize is inherited from the Node interface where it was moved.
See also the Document Object Model (DOM) Level 3 Core Specification.
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| Modifier and Type | Method and Description |
|---|---|
String |
getAttribute(String
Retrieves an attribute value by name.
|
Attr |
getAttributeNode(String
Retrieves an attribute node by name.
|
Attr |
getAttributeNodeNS(String
Retrieves an
Attr node by local name and namespace URI.
|
String |
getAttributeNS(String
Retrieves an attribute value by local name and namespace URI.
|
NodeList |
getElementsByTagName(String
Returns a
NodeList of all descendant
Elements with a given tag name, in document order.
|
NodeList |
getElementsByTagNameNS(String
Returns a
NodeList of all the descendant
Elements with a given local name and namespace URI in document order.
|
TypeInfo |
getSchemaTypeInfo()
The type information associated with this element.
|
String |
getTagName()
The name of the element.
|
boolean |
hasAttribute(String
Returns
true when an attribute with a given name is specified on this element or has a default value,
false otherwise.
|
boolean |
hasAttributeNS(String
Returns
true when an attribute with a given local name and namespace URI is specified on this element or has a default value,
false otherwise.
|
void |
removeAttribute(String
Removes an attribute by name.
|
Attr |
removeAttributeNode(Attr
Removes the specified attribute node.
|
void |
removeAttributeNS(String
Removes an attribute by local name and namespace URI.
|
void |
setAttribute(String
Adds a new attribute.
|
Attr |
setAttributeNode(Attr
Adds a new attribute node.
|
Attr |
setAttributeNodeNS(Attr
Adds a new attribute.
|
void |
setAttributeNS(String
Adds a new attribute.
|
void |
setIdAttribute(String
If the parameter
isId is
true, this method declares the specified attribute to be a user-determined ID attribute .
|
void |
setIdAttributeNode(Attr
If the parameter
isId is
true, this method declares the specified attribute to be a user-determined ID attribute .
|
void |
setIdAttributeNS(String
If the parameter
isId is
true, this method declares the specified attribute to be a user-determined ID attribute .
|
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, setUserDataStringgetTagName()
Node.localName is different from
null, this attribute is a qualified name. For example, in:
<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.
StringgetAttribute(String name)
name - The name of the attribute to retrieve.
Attr value as a string, or the empty string if that attribute does not have a specified or default value.
void setAttribute(Stringname, String value) throws DOMException
Attr node plus any
Text and
EntityReference nodes, build the appropriate subtree, and use
setAttributeNode to assign it as the value of an attribute.
setAttributeNS method.
name - The name of the attribute to create or alter.
value - Value to set in string form.
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.
void removeAttribute(Stringname) throws DOMException
Document.normalizeDocument() to guarantee this information is up-to-date.
removeAttributeNS method.
name - The name of the attribute to remove.
DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
AttrgetAttributeNode(String name)
getAttributeNodeNS method.
name - The name (
nodeName) of the attribute to retrieve.
Attr node with the specified name (
nodeName) or
null if there is no such attribute.
AttrsetAttributeNode(Attr newAttr) throws DOMException
nodeName) is already present in the element, it is replaced by the new one. Replacing an attribute node by itself has no effect.
setAttributeNodeNS method.
newAttr - The
Attr node to add to the attribute list.
newAttr attribute replaces an existing attribute, the replaced
Attr node is returned, otherwise
null is returned.
DOMException - WRONG_DOCUMENT_ERR: Raised if
newAttr was created from a different document than the one that created the element.
newAttr is already an attribute of another
Element object. The DOM user must explicitly clone
Attr nodes to re-use them in other elements.
AttrremoveAttributeNode(Attr oldAttr) throws DOMException
Attr node is defined in the DTD, a new node immediately appears with the default value as well as the corresponding namespace URI, local name, and prefix when applicable. The implementation may handle default values from other schemas similarly but applications should use
Document.normalizeDocument() to guarantee this information is up-to-date.
oldAttr - The
Attr node to remove from the attribute list.
Attr node that was removed.
DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
oldAttr is not an attribute of the element.
NodeListgetElementsByTagName(String name)
NodeList of all descendant
Elements with a given tag name, in document order.
name - The name of the tag to match on. The special value "*" matches all tags.
Element nodes.
StringgetAttributeNS(String namespaceURI, String localName) throws DOMException
null as the
namespaceURI parameter for methods if they wish to have no namespace.
namespaceURI - The namespace URI of the attribute to retrieve.
localName - The local name of the attribute to retrieve.
Attr value as a string, or the empty string if that attribute does not have a specified or default value.
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 setAttributeNS(StringnamespaceURI, String qualifiedName, String value) throws DOMException
qualifiedName, and its value is changed to be the
value parameter. This value is a simple string; it is not parsed as it is being set. So any markup (such as syntax to be recognized as an entity reference) is treated as literal text, and needs to be appropriately escaped by the implementation when it is written out. In order to assign an attribute value that contains entity references, the user must create an
Attr node plus any
Text and
EntityReference nodes, build the appropriate subtree, and use
setAttributeNodeNS or
setAttributeNode to assign it as the value of an attribute.
null as the
namespaceURI parameter for methods if they wish to have no namespace.
namespaceURI - The namespace URI of the attribute to create or alter.
qualifiedName - The qualified name of the attribute to create or alter.
value - The value to set in string form.
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.
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".
"XML" and the language exposed through the Document does not support XML Namespaces (such as [
HTML 4.01]).
void removeAttributeNS(StringnamespaceURI, String localName) throws DOMException
Document.normalizeDocument() to guarantee this information is up-to-date.
null as the
namespaceURI parameter for methods if they wish to have no namespace.
namespaceURI - The namespace URI of the attribute to remove.
localName - The local name of the attribute to remove.
DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
"XML" and the language exposed through the Document does not support XML Namespaces (such as [
HTML 4.01]).
AttrgetAttributeNodeNS(String namespaceURI, String localName) throws DOMException
Attr node by local name and namespace URI.
null as the
namespaceURI parameter for methods if they wish to have no namespace.
namespaceURI - The namespace URI of the attribute to retrieve.
localName - The local name of the attribute to retrieve.
Attr node with the specified attribute local name and namespace URI or
null if there is no such attribute.
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]).
AttrsetAttributeNodeNS(Attr newAttr) throws DOMException
null as the
namespaceURI parameter for methods if they wish to have no namespace.
newAttr - The
Attr node to add to the attribute list.
newAttr attribute replaces an existing attribute with the same local name and namespace URI, the replaced
Attr node is returned, otherwise
null is returned.
DOMException - WRONG_DOCUMENT_ERR: Raised if
newAttr was created from a different document than the one that created the element.
newAttr is already an attribute of another
Element object. The DOM user must explicitly clone
Attr nodes to re-use them in other elements.
"XML" and the language exposed through the Document does not support XML Namespaces (such as [
HTML 4.01]).
NodeListgetElementsByTagNameNS(String namespaceURI, String localName) throws DOMException
NodeList of all the descendant
Elements with a given local name and namespace URI in document order.
namespaceURI - The namespace URI of the elements to match on. The special value "*" matches all namespaces.
localName - The local name of the elements to match on. The special value "*" matches all local names.
NodeList object containing all the matched
Elements.
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]).
boolean hasAttribute(Stringname)
true when an attribute with a given name is specified on this element or has a default value,
false otherwise.
name - The name of the attribute to look for.
true if an attribute with the given name is specified on this element or has a default value,
false otherwise.
boolean hasAttributeNS(StringnamespaceURI, String localName) throws DOMException
true when an attribute with a given local name and namespace URI is specified on this element or has a default value,
false otherwise.
null as the
namespaceURI parameter for methods if they wish to have no namespace.
namespaceURI - The namespace URI of the attribute to look for.
localName - The local name of the attribute to look for.
true if an attribute with the given local name and namespace URI is specified or has a default value on this element,
false otherwise.
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]).
TypeInfogetSchemaTypeInfo()
void setIdAttribute(Stringname, boolean isId) throws DOMException
isId is
true, this method declares the specified attribute to be a user-determined ID attribute . This affects the value of
Attr.isId and the behavior of
Document.getElementById, but does not change any schema that may be in use, in particular this does not affect the
Attr.schemaTypeInfo of the specified
Attr node. Use the value
false for the parameter
isId to undeclare an attribute for being a user-determined ID attribute.
setIdAttributeNS method.
name - The name of the attribute.
isId - Whether the attribute is a of type ID.
DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
void setIdAttributeNS(StringnamespaceURI, String localName, boolean isId) throws DOMException
isId is
true, this method declares the specified attribute to be a user-determined ID attribute . This affects the value of
Attr.isId and the behavior of
Document.getElementById, but does not change any schema that may be in use, in particular this does not affect the
Attr.schemaTypeInfo of the specified
Attr node. Use the value
false for the parameter
isId to undeclare an attribute for being a user-determined ID attribute.
namespaceURI - The namespace URI of the attribute.
localName - The local name of the attribute.
isId - Whether the attribute is a of type ID.
DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
void setIdAttributeNode(AttridAttr, boolean isId) throws DOMException
isId is
true, this method declares the specified attribute to be a user-determined ID attribute . This affects the value of
Attr.isId and the behavior of
Document.getElementById, but does not change any schema that may be in use, in particular this does not affect the
Attr.schemaTypeInfo of the specified
Attr node. Use the value
false for the parameter
isId to undeclare an attribute for being a user-determined ID attribute.
idAttr - The attribute node.
isId - Whether the attribute is a of type ID.
DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.