- 所有超级接口:
-
Node
- 所有已知子接口:
-
HTMLAnchorElement
,HTMLAppletElement
,HTMLAreaElement
,HTMLBaseElement
,HTMLBaseFontElement
,HTMLBodyElement
,HTMLBRElement
,HTMLButtonElement
,HTMLDirectoryElement
,HTMLDivElement
,HTMLDListElement
,HTMLElement
,HTMLFieldSetElement
,HTMLFontElement
,HTMLFormElement
,HTMLFrameElement
,HTMLFrameSetElement
,HTMLHeadElement
,HTMLHeadingElement
,HTMLHRElement
,HTMLHtmlElement
,HTMLIFrameElement
,HTMLImageElement
,HTMLInputElement
,HTMLIsIndexElement
,HTMLLabelElement
,HTMLLegendElement
,HTMLLIElement
,HTMLLinkElement
,HTMLMapElement
,HTMLMenuElement
,HTMLMetaElement
,HTMLModElement
,HTMLObjectElement
,HTMLOListElement
,HTMLOptGroupElement
,HTMLOptionElement
,HTMLParagraphElement
,HTMLParamElement
,HTMLPreElement
,HTMLQuoteElement
,HTMLScriptElement
,HTMLSelectElement
,HTMLStyleElement
,HTMLTableCaptionElement
,HTMLTableCellElement
,HTMLTableColElement
,HTMLTableElement
,HTMLTableRowElement
,HTMLTableSectionElement
,HTMLTextAreaElement
,HTMLTitleElement
,HTMLUListElement
- 所有已知实现类:
-
IIOMetadataNode
Element
接口表示HTML或XML文档中的元素。元素可能带有与之关联的属性;由于Element
接口继承自Node
接口,因此可以使用通用的Node
接口属性attributes
来检索元素的所有属性集。Element
接口上有方法,可以通过名称检索Attr
对象或通过名称检索属性值。在XML中,属性值可能包含实体引用,应检索Attr
对象以检查表示属性值的可能相当复杂的子树。另一方面,在HTML中,所有属性都具有简单的字符串值,可以安全地使用直接访问属性值的方法作为便利。
注意: 在DOM Level 2中,方法normalize
是从Node
接口继承的,它被移动到那里。
-
Field Summary
Fields declared in interface 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
-
Method Summary
Modifier and TypeMethodDescriptiongetAttribute
(String name) 按名称检索属性值。getAttributeNode
(String name) 按名称检索属性节点。getAttributeNodeNS
(String namespaceURI, String localName) 按本地名称和命名空间URI检索Attr
节点。getAttributeNS
(String namespaceURI, String localName) 按本地名称和命名空间URI检索属性值。getElementsByTagName
(String name) 返回给定标记名称的所有后代Elements
的NodeList
,按文档顺序。getElementsByTagNameNS
(String namespaceURI, String localName) 返回给定本地名称和命名空间URI的所有后代Elements
的NodeList
,按文档顺序。与此元素关联的类型信息。元素的名称。boolean
hasAttribute
(String name) 当在此元素上指定具有给定名称的属性或具有默认值时,返回true
,否则返回false
。boolean
hasAttributeNS
(String namespaceURI, String localName) 当在此元素上指定具有给定本地名称和命名空间URI的属性或具有默认值时,返回true
,否则返回false
。void
removeAttribute
(String name) 按名称删除属性。removeAttributeNode
(Attr oldAttr) 删除指定的属性节点。void
removeAttributeNS
(String namespaceURI, String localName) 按本地名称和命名空间URI删除属性。void
setAttribute
(String name, String value) 添加新属性。setAttributeNode
(Attr newAttr) 添加新属性节点。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属性。Methods declared in interface 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
-
Method Details
-
getTagName
String getTagName()元素的名称。如果Node.localName
与null
不同,则此属性是一个限定名称。例如,在:<elementExample id="demo"> ... </elementExample>,
tagName
的值为"elementExample"
。请注意,在XML中保留大小写,DOM的所有操作也是如此。HTML DOM以规范的大写形式返回HTML元素的tagName
,而不考虑源HTML文档中的大小写。 -
getAttribute
按名称检索属性值。- 参数:
-
name
- 要检索的属性的名称。 - 返回:
-
作为字符串的
Attr
值,如果该属性没有指定或默认值,则为空字符串。
-
setAttribute
添加新属性。如果元素中已经存在具有该名称的属性,则其值将更改为value参数的值。该值是一个简单的字符串;在设置时不会解析。因此,任何标记(例如要识别为实体引用的语法)都将被视为文本,并且在写出时需要由实现适当地转义。为了分配包含实体引用的属性值,用户必须创建一个Attr
节点以及任何Text
和EntityReference
节点,构建适当的子树,并使用setAttributeNode
将其分配为属性的值。
要设置具有限定名称和命名空间URI的属性值,请使用setAttributeNS
方法。- 参数:
-
name
- 要创建或更改的属性的名称。 -
value
- 要以字符串形式设置的值。 - 抛出:
-
DOMException
- INVALID_CHARACTER_ERR:如果指定的名称不符合正在使用的XML版本中在Document.xmlVersion
属性中指定的XML名称,则引发异常。
NO_MODIFICATION_ALLOWED_ERR:如果此节点是只读的,则引发异常。
-
removeAttribute
按名称删除属性。如果在DTD中为要删除的属性定义了默认值,则立即出现一个新属性,其默认值以及相应的命名空间URI、本地名称和前缀(如果适用)也会出现。实现可能类似地处理来自其他模式的默认值,但应用程序应使用Document.normalizeDocument()
来确保此信息是最新的。
如果找不到具有此名称的属性,则此方法不起作用。
要按本地名称和命名空间URI删除属性,请使用removeAttributeNS
方法。- 参数:
-
name
- 要删除的属性的名称。 - 抛出:
-
DOMException
- NO_MODIFICATION_ALLOWED_ERR:如果此节点是只读的,则引发异常。
-
getAttributeNode
按名称检索属性节点。
要按限定名称和命名空间URI检索属性节点,请使用getAttributeNodeNS
方法。- 参数:
-
name
- 要检索的属性的名称(nodeName
)。 - 返回:
-
具有指定名称(
nodeName
)的Attr
节点,如果没有这样的属性,则返回null
。
-
setAttributeNode
添加新属性节点。如果元素中已经存在具有相同名称(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
删除指定的属性节点。如果在DTD中为要删除的Attr
节点定义了默认值,则立即出现一个新节点,其默认值以及相应的命名空间URI、本地名称和前缀(如果适用)也会出现。实现可能类似地处理来自其他模式的默认值,但应用程序应使用Document.normalizeDocument()
来确保此信息是最新的。- 参数:
-
oldAttr
- 要从属性列表中删除的Attr
节点。 - 返回:
-
被移除的
Attr
节点。 - 抛出:
-
DOMException
- NO_MODIFICATION_ALLOWED_ERR:如果此节点是只读的,则引发异常。
NOT_FOUND_ERR:如果oldAttr
不是元素的属性,则引发异常。
-
getElementsByTagName
按给定标记名称以文档顺序返回所有后代Elements
的NodeList
。- 参数:
-
name
- 要匹配的标记名称。特殊值"*"匹配所有标记。 - 返回:
-
匹配的
Element
节点列表。
-
getAttributeNS
- 参数:
-
namespaceURI
- 要检索的属性的命名空间URI。 -
localName
- 要检索的属性的本地名称。 - 返回:
-
作为字符串的
Attr
值,如果该属性没有指定或默认值,则为空字符串。 - 抛出:
-
DOMException
- NOT_SUPPORTED_ERR:如果实现不支持特性"XML"
,并且通过文档公开的语言不支持XML命名空间(例如[HTML 4.01])。 - 自:
- 1.4,DOM Level 2
-
setAttributeNS
添加新属性。如果元素中已经存在具有相同本地名称和命名空间URI的属性,则其前缀更改为qualifiedName
的前缀部分,并且其值更改为value
参数。该值是一个简单的字符串;在设置时不会解析。因此,任何标记(例如要识别为实体引用的语法)都将被视为文本,并且在写出时需要由实现适当地转义。为了分配包含实体引用的属性值,用户必须创建一个Attr
节点以及任何Text
和EntityReference
节点,构建适当的子树,并使用setAttributeNodeNS
或setAttributeNode
将其分配为属性的值。
根据[XML命名空间],如果应用程序希望没有命名空间,则方法中的namespaceURI
参数必须使用值null
。- 参数:
-
namespaceURI
- 要创建或更改的属性的命名空间URI。 -
qualifiedName
- 要创建或更改的属性的限定名称。 -
value
- 要以字符串形式设置的值。 - 抛出:
-
DOMException
- INVALID_CHARACTER_ERR:如果指定的限定名称不符合在Document.xmlVersion
属性中指定的XML版本中的XML名称,则引发异常。
NO_MODIFICATION_ALLOWED_ERR:如果此节点是只读的,则引发异常。
NAMESPACE_ERR:如果qualifiedName
根据XML命名空间规范格式不正确,如果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"。
NOT_SUPPORTED_ERR:如果实现不支持特性"XML"
,并且通过文档公开的语言不支持XML命名空间(例如[HTML 4.01])。 - 自:
- 1.4,DOM Level 2
-
removeAttributeNS
按本地名称和命名空间URI删除属性。如果在DTD中为要删除的属性定义了默认值,则立即出现一个新属性,其默认值以及相应的命名空间URI、本地名称和前缀(如果适用)也会出现。实现可能类似地处理来自其他模式的默认值,但应用程序应使用Document.normalizeDocument()
来确保此信息是最新的。
如果找不到具有此本地名称和命名空间URI的属性,则此方法不起作用。
根据[XML命名空间],如果应用程序希望没有命名空间,则方法中的namespaceURI
参数必须使用值null
。- 参数:
-
namespaceURI
- 要移除的属性的命名空间URI。 -
localName
- 要移除的属性的本地名称。 - 抛出:
-
DOMException
- NO_MODIFICATION_ALLOWED_ERR: 如果此节点是只读的则引发。
NOT_SUPPORTED_ERR: 如果实现不支持特性"XML"
,并且文档中公开的语言不支持XML命名空间(例如[HTML 4.01])可能会引发。 - 自从:
- 1.4, DOM Level 2
-
getAttributeNodeNS
- 参数:
-
namespaceURI
- 要检索的属性的命名空间URI。 -
localName
- 要检索的属性的本地名称。 - 返回:
-
具有指定属性本地名称和命名空间URI的
Attr
节点,如果没有这样的属性则返回null
。 - 抛出:
-
DOMException
- NOT_SUPPORTED_ERR: 如果实现不支持特性"XML"
,并且文档中公开的语言不支持XML命名空间(例如[HTML 4.01])可能会引发。 - 自从:
- 1.4, DOM Level 2
-
setAttributeNodeNS
添加新属性。如果元素中已经存在具有该本地名称和命名空间URI的属性,则将其替换为新属性。通过替换属性节点本身来替换属性节点不会产生任何效果。
根据[XML命名空间],如果应用程序希望没有命名空间,则必须在方法中使用值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])可能会引发。 - 自从:
- 1.4, DOM Level 2
-
getElementsByTagNameNS
按文档顺序返回具有给定本地名称和命名空间URI的所有后代Elements
的NodeList
。- 参数:
-
namespaceURI
- 要匹配的元素的命名空间URI。特殊值"*"匹配所有命名空间。 -
localName
- 要匹配的元素的本地名称。特殊值"*"匹配所有本地名称。 - 返回:
-
包含所有匹配的
Elements
的新NodeList
对象。 - 抛出:
-
DOMException
- NOT_SUPPORTED_ERR: 如果实现不支持特性"XML"
,并且文档中公开的语言不支持XML命名空间(例如[HTML 4.01])可能会引发。 - 自从:
- 1.4, DOM Level 2
-
hasAttribute
当此元素上指定具有给定名称的属性或具有默认值时返回true
,否则返回false
。- 参数:
-
name
- 要查找的属性的名称。 - 返回:
-
如果此元素上指定具有给定名称的属性或具有默认值,则返回
true
,否则返回false
。 - 自从:
- 1.4, DOM Level 2
-
hasAttributeNS
当此元素上指定具有给定本地名称和命名空间URI的属性或具有默认值时返回true
,否则返回false
。
根据[XML命名空间],如果应用程序希望没有命名空间,则必须在方法中使用值null
作为namespaceURI
参数。- 参数:
-
namespaceURI
- 要查找的属性的命名空间URI。 -
localName
- 要查找的属性的本地名称。 - 返回:
-
如果此元素上指定具有给定本地名称和命名空间URI的属性或具有默认值,则返回
true
,否则返回false
。 - 抛出:
-
DOMException
- NOT_SUPPORTED_ERR: 如果实现不支持特性"XML"
,并且文档中公开的语言不支持XML命名空间(例如[HTML 4.01])可能会引发。 - 自从:
- 1.4, DOM Level 2
-
getSchemaTypeInfo
TypeInfo getSchemaTypeInfo()与此元素关联的类型信息。- 自从:
- 1.5, DOM Level 3
-
setIdAttribute
如果参数isId
为true
,则此方法声明指定的属性为用户确定的ID属性。这会影响Attr.isId
的值和Document.getElementById
的行为,但不会更改可能正在使用的任何模式,特别是这不会影响指定Attr
节点的Attr.schemaTypeInfo
。将参数isId
的值设为false
可取消声明属性为用户确定的ID属性。
要通过本地名称和命名空间URI指定属性,请使用setIdAttributeNS
方法。- 参数:
-
name
- 属性的名称。 -
isId
- 属性是否为ID类型。 - 抛出:
-
DOMException
- NO_MODIFICATION_ALLOWED_ERR: 如果此节点是只读的则引发。
NOT_FOUND_ERR: 如果指定的节点不是此元素的属性则引发。 - 自从:
- 1.5, DOM Level 3
-
setIdAttributeNS
如果参数isId
为true
,则此方法声明指定的属性为用户确定的ID属性。这会影响Attr.isId
的值和Document.getElementById
的行为,但不会更改可能正在使用的任何模式,特别是这不会影响指定Attr
节点的Attr.schemaTypeInfo
。将参数isId
的值设为false
可取消声明属性为用户确定的ID属性。- 参数:
-
namespaceURI
- 属性的命名空间URI。 -
localName
- 属性的本地名称。 -
isId
- 属性是否为ID类型。 - 抛出:
-
DOMException
- NO_MODIFICATION_ALLOWED_ERR: 如果此节点是只读的则引发。
NOT_FOUND_ERR: 如果指定的节点不是此元素的属性则引发。 - 自从:
- 1.5, DOM Level 3
-
setIdAttributeNode
如果参数isId
为true
,则此方法声明指定的属性为用户确定的ID属性。这会影响Attr.isId
的值和Document.getElementById
的行为,但不会更改可能正在使用的任何模式,特别是这不会影响指定Attr
节点的Attr.schemaTypeInfo
。将参数isId
的值设为false
可取消声明属性为用户确定的ID属性。- 参数:
-
idAttr
- 属性节点。 -
isId
- 属性是否为ID类型。 - 抛出:
-
DOMException
- NO_MODIFICATION_ALLOWED_ERR: 如果此节点是只读的则引发。
NOT_FOUND_ERR: 如果指定的节点不是此元素的属性则引发。 - 自从:
- 1.5, DOM Level 3
-