所有类
|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
org.w3c.dom
接口 Element
- 所有超级接口:
- Node
- 所有已知实现类:
- 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。
字段摘要 |
---|
方法摘要 | |
---|---|
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 属性。 |
方法详细信息 |
---|
getTagName
String getTagName()
-
元素的名称。如果
Node.localName
与null
不同,则此属性为一个限定名称。例如,在以下示例中:<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
节点,加上所有Text
和EntityReference
节点,构建适当的子树,并将它作为属性值,通过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
不是该元素的属性,则引发此异常。