- 所有已知的子接口:
Attr
,CDATASection
,CharacterData
,Comment
,Document
,DocumentFragment
,DocumentType
,Element
,Entity
,EntityReference
,HTMLAnchorElement
,HTMLAppletElement
,HTMLAreaElement
,HTMLBaseElement
,HTMLBaseFontElement
,HTMLBodyElement
,HTMLBRElement
,HTMLButtonElement
,HTMLDirectoryElement
,HTMLDivElement
,HTMLDListElement
,HTMLDocument
,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
,Notation
,ProcessingInstruction
,Text
,XPathNamespace
- 所有已知的实现类:
IIOMetadataNode
public interface Node
Node
接口是整个文档对象模型的主要数据类型。它代表文档树中的单个节点。虽然所有实现 Node
接口的对象都会公开处理子对象的方法,但并非所有实现 Node
接口的对象都可能有子对象。例如,Text
节点可能没有子节点,向此类节点添加子节点会导致引发 DOMException
。
包含属性 nodeName
、 nodeValue
和 attributes
作为一种获取节点信息的机制,而无需强制转换为特定的派生接口。如果特定 nodeType
的这些属性没有明显的映射(例如,nodeValue
对应 Element
或 attributes
对应 Comment
),则返回 null
。请注意,专用接口可能包含额外的和更方便的机制来获取和设置相关信息。
nodeName
、nodeValue
和 attributes
的值因节点类型而异,如下所示:
接口 | 节点名称 | 节点值 | 属性 |
---|---|---|---|
Attr |
与Attr.name 相同 |
与Attr.value 相同 |
null |
CDATASection |
"#cdata-section" |
同CharacterData.data ,CDATA Section的内容 |
null |
Comment |
"#comment" |
同CharacterData.data ,评论内容 |
null |
Document |
"#document" |
null |
null |
DocumentFragment |
"#document-fragment" |
null |
null |
DocumentType |
与DocumentType.name 相同 |
null |
null |
Element |
与Element.tagName 相同 |
null |
NamedNodeMap |
Entity |
实体名称 | null |
null |
EntityReference |
引用的实体名称 | null |
null |
Notation |
符号名称 | null |
null |
ProcessingInstruction |
与ProcessingInstruction.target 相同 |
与ProcessingInstruction.data 相同 |
null |
Text |
"#text" |
同CharacterData.data ,文本节点的内容 |
null |
-
字段摘要
字段修饰符和类型Field描述static final short
该节点是一个Attr
。static final short
该节点是CDATASection
。static final short
该节点是Comment
。static final short
该节点是DocumentFragment
。static final short
该节点是Document
。static final short
该节点包含在引用节点中。static final short
该节点包含引用节点。static final short
两个节点断开连接。static final short
该节点跟随参考节点。static final short
先行还是后行的确定是特定于实现的。static final short
第二个节点在参考节点之前。static final short
该节点是DocumentType
。static final short
该节点是一个Element
。static final short
该节点是一个Entity
。static final short
该节点是一个EntityReference
。static final short
该节点是Notation
。static final short
该节点是ProcessingInstruction
。static final short
该节点是一个Text
节点。 -
方法总结
修饰符和类型方法描述appendChild
(Node newChild) 将节点newChild
添加到该节点的子节点列表的末尾。cloneNode
(boolean deep) 返回此节点的副本,即用作节点的通用复制构造方法。short
compareDocumentPosition
(Node other) 根据文档顺序比较参考节点(即调用此方法的节点)和节点(即作为参数传递的节点)在文档中的位置。ANamedNodeMap
包含此节点的属性(如果它是Element
)或null
否则。此节点的绝对基础 URI 或null
(如果实现无法获得绝对 URI)。包含此节点的所有子节点的NodeList
。getFeature
(String feature, String version) 此方法返回一个专用对象,该对象实现指定功能和版本的专用 API,如 .此节点的第一个子节点。此节点的最后一个子节点。返回此节点的限定名称的本地部分。此节点的命名空间 URI,如果未指定,则为null
(参见 参考资料)。紧接此节点之后的节点。此节点的名称,取决于其类型;见上表。short
表示基础对象类型的代码,如上定义。这个节点的值,取决于它的类型;见上表。与此节点关联的Document
对象。此节点的父节点。此节点的命名空间前缀,如果未指定,则为null
。紧接此节点之前的节点。此属性返回此节点及其后代的文本内容。getUserData
(String key) 检索与此节点上的键关联的对象。boolean
返回此节点(如果它是一个元素)是否具有任何属性。boolean
返回此节点是否有任何子节点。insertBefore
(Node newChild, Node refChild) 在现有子节点refChild
之前插入节点newChild
。boolean
isDefaultNamespace
(String namespaceURI) 此方法检查指定的namespaceURI
是否为默认命名空间。boolean
isEqualNode
(Node arg) 测试两个节点是否相等。boolean
isSameNode
(Node other) 返回此节点是否与给定节点相同。boolean
isSupported
(String feature, String version) 测试 DOM 实现是否实现了特定的功能,并且该功能是否受此节点的支持,如中所指定。lookupNamespaceURI
(String prefix) 从此节点开始查找与给定前缀关联的命名空间 URI。lookupPrefix
(String namespaceURI) 从此节点开始查找与给定名称空间 URI 关联的前缀。void
将此Node
下子树的完整深度中的所有Text
节点(包括属性节点)放入“正常”形式,其中只有结构(例如,元素、注释、处理指令、CDATA 部分和实体引用)将Text
节点分开,即既没有相邻的Text
节点,也没有空的Text
节点。removeChild
(Node oldChild) 从子列表中删除oldChild
指示的子节点,并将其返回。replaceChild
(Node newChild, Node oldChild) 将子节点列表中的子节点oldChild
替换为newChild
,并返回oldChild
节点。void
setNodeValue
(String nodeValue) 这个节点的值,取决于它的类型;见上表。void
此节点的命名空间前缀,如果未指定,则为null
。void
setTextContent
(String textContent) 此属性返回此节点及其后代的文本内容。setUserData
(String key, Object data, UserDataHandler handler) 将对象关联到此节点上的键。
-
字段详细信息
-
ELEMENT_NODE
static final short ELEMENT_NODE该节点是一个Element
。- 参见:
-
ATTRIBUTE_NODE
static final short ATTRIBUTE_NODE该节点是一个Attr
。- 参见:
-
TEXT_NODE
static final short TEXT_NODE该节点是一个Text
节点。- 参见:
-
CDATA_SECTION_NODE
static final short CDATA_SECTION_NODE该节点是CDATASection
。- 参见:
-
ENTITY_REFERENCE_NODE
static final short ENTITY_REFERENCE_NODE该节点是一个EntityReference
。- 参见:
-
ENTITY_NODE
static final short ENTITY_NODE该节点是一个Entity
。- 参见:
-
PROCESSING_INSTRUCTION_NODE
static final short PROCESSING_INSTRUCTION_NODE该节点是ProcessingInstruction
。- 参见:
-
COMMENT_NODE
static final short COMMENT_NODE该节点是Comment
。- 参见:
-
DOCUMENT_NODE
static final short DOCUMENT_NODE该节点是Document
。- 参见:
-
DOCUMENT_TYPE_NODE
static final short DOCUMENT_TYPE_NODE该节点是DocumentType
。- 参见:
-
DOCUMENT_FRAGMENT_NODE
static final short DOCUMENT_FRAGMENT_NODE该节点是DocumentFragment
。- 参见:
-
NOTATION_NODE
static final short NOTATION_NODE该节点是Notation
。- 参见:
-
DOCUMENT_POSITION_DISCONNECTED
static final short DOCUMENT_POSITION_DISCONNECTED两个节点断开连接。断开连接的节点之间的顺序始终是特定于实现的。- 参见:
-
DOCUMENT_POSITION_PRECEDING
static final short DOCUMENT_POSITION_PRECEDING第二个节点在参考节点之前。- 参见:
-
DOCUMENT_POSITION_FOLLOWING
static final short DOCUMENT_POSITION_FOLLOWING该节点跟随参考节点。- 参见:
-
DOCUMENT_POSITION_CONTAINS
static final short DOCUMENT_POSITION_CONTAINS该节点包含引用节点。包含的节点也总是在前面。- 参见:
-
DOCUMENT_POSITION_CONTAINED_BY
static final short DOCUMENT_POSITION_CONTAINED_BY该节点包含在引用节点中。包含的节点也总是跟随。- 参见:
-
DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
static final short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC先行还是后行的确定是特定于实现的。- 参见:
-
-
方法详情
-
getNodeName
String getNodeName()此节点的名称,取决于其类型;见上表。 -
getNodeValue
这个节点的值,取决于它的类型;见上表。当它被定义为null
时,设置它无效,包括节点是否只读。- 抛出:
DOMException
- DOMSTRING_SIZE_ERR:当它返回的字符多于实现平台上DOMString
变量中的字符数时引发。
-
setNodeValue
这个节点的值,取决于它的类型;见上表。当它被定义为null
时,设置它无效,包括节点是否只读。- 抛出:
DOMException
- NO_MODIFICATION_ALLOWED_ERR:当节点为只读且未定义为null
时引发。
-
getNodeType
short getNodeType()表示基础对象类型的代码,如上定义。 -
getParentNode
Node getParentNode()此节点的父节点。除了Attr
、Document
、DocumentFragment
、Entity
和Notation
之外的所有节点都可能有一个父节点。但是,如果一个节点刚刚创建但尚未添加到树中,或者如果它已从树中删除,则为null
。 -
getChildNodes
NodeList getChildNodes()包含此节点的所有子节点的NodeList
。如果没有孩子,这是一个不包含节点的NodeList
。 -
getFirstChild
Node getFirstChild()此节点的第一个子节点。如果没有这样的节点,则返回null
。 -
getLastChild
Node getLastChild()此节点的最后一个子节点。如果没有这样的节点,则返回null
。 -
getPreviousSibling
Node getPreviousSibling()紧接此节点之前的节点。如果没有这样的节点,则返回null
。 -
getNextSibling
Node getNextSibling()紧接此节点之后的节点。如果没有这样的节点,则返回null
。 -
getAttributes
NamedNodeMap getAttributes()ANamedNodeMap
包含此节点的属性(如果它是Element
)或null
否则。 -
getOwnerDocument
Document getOwnerDocument()与此节点关联的Document
对象。这也是用于创建新节点的Document
对象。当此节点是Document
或尚未与任何Document
一起使用的DocumentType
时,这是null
。- 自从:
- 1.4、DOM Level 2
-
insertBefore
在现有子节点refChild
之前插入节点newChild
。如果refChild
是null
,则在子列表的末尾插入newChild
。
如果newChild
是一个DocumentFragment
对象,则它的所有子对象都以相同的顺序插入到refChild
之前。如果newChild
已经在树中,则首先将其删除。笔记:在自身之前插入节点取决于实现。
- 参数:
newChild
- 要插入的节点。refChild
- 参考节点,即必须在其前插入新节点的节点。- 返回:
- 正在插入的节点。
- 抛出:
DOMException
- HIERARCHY_REQUEST_ERR:如果此节点的类型不允许newChild
节点的子节点类型,或者要插入的节点是此节点的祖先之一或此节点本身,或者此节点的类型为Document
,则引发并且 DOM 应用程序尝试插入第二个DocumentType
或Element
节点。
WRONG_DOCUMENT_ERR:如果newChild
是从与创建此节点的文档不同的文档创建的,则引发。
NO_MODIFICATION_ALLOWED_ERR:如果此节点是只读的或者所插入节点的父节点是只读的,则引发。
NOT_FOUND_ERR:如果refChild
不是该节点的子节点则引发。
NOT_SUPPORTED_ERR:如果此节点的类型为Document
,如果 DOM 实现不支持插入DocumentType
或Element
节点,则可能会引发此异常。- 自从:
- 1.4、DOM Level 3
-
replaceChild
将子节点列表中的子节点oldChild
替换为newChild
,并返回oldChild
节点。
如果newChild
是一个DocumentFragment
对象,则oldChild
将替换为所有DocumentFragment
子对象,它们以相同的顺序插入。如果newChild
已经在树中,则首先将其删除。笔记:用自身替换节点是依赖于实现的。
- 参数:
newChild
- 要放入子列表的新节点。oldChild
- 列表中被替换的节点。- 返回:
- 节点已替换。
- 抛出:
DOMException
- HIERARCHY_REQUEST_ERR:如果此节点的类型不允许newChild
节点的子节点类型,或者如果要放入的节点是此节点的祖先之一或此节点本身,或者此节点的类型Document
和替换操作的结果将在Document
节点上添加第二个DocumentType
或Element
。
WRONG_DOCUMENT_ERR:如果newChild
是从与创建此节点的文档不同的文档创建的,则引发。
NO_MODIFICATION_ALLOWED_ERR:如果此节点或新节点的父节点是只读的,则引发。
NOT_FOUND_ERR:如果oldChild
不是该节点的子节点则引发。
NOT_SUPPORTED_ERR:如果此节点的类型为Document
,如果 DOM 实现不支持替换DocumentType
子节点或Element
子节点,则可能会引发此异常。- 自从:
- 1.4、DOM Level 3
-
removeChild
从子列表中删除oldChild
指示的子节点,并将其返回。- 参数:
oldChild
- 正在删除的节点。- 返回:
- 节点已删除。
- 抛出:
DOMException
- NO_MODIFICATION_ALLOWED_ERR:如果此节点是只读的,则引发。
NOT_FOUND_ERR:如果oldChild
不是该节点的子节点则引发。
NOT_SUPPORTED_ERR:如果此节点的类型为Document
,如果 DOM 实现不支持删除DocumentType
子节点或Element
子节点,则可能会引发此异常。- 自从:
- 1.4、DOM Level 3
-
appendChild
将节点newChild
添加到该节点的子节点列表的末尾。如果newChild
已经在树中,则首先将其删除。- 参数:
newChild
- 要添加的节点。如果它是一个DocumentFragment
对象,则将文档片段的全部内容移动到该节点的子列表中- 返回:
- 添加的节点。
- 抛出:
DOMException
- HIERARCHY_REQUEST_ERR:如果此节点的类型不允许newChild
节点的子节点类型,或者要附加的节点是此节点的祖先之一或此节点本身,或者此节点的类型为Document
,则引发并且 DOM 应用程序尝试附加第二个DocumentType
或Element
节点。
WRONG_DOCUMENT_ERR:如果newChild
是从与创建此节点的文档不同的文档创建的,则引发。
NO_MODIFICATION_ALLOWED_ERR:如果此节点是只读的,或者所插入节点的前一个父节点是只读的,则引发。
NOT_SUPPORTED_ERR:如果newChild
节点是Document
节点的子节点,如果 DOM 实现不支持删除DocumentType
子节点或Element
子节点,则可能会引发此异常。- 自从:
- 1.4、DOM Level 3
-
hasChildNodes
boolean hasChildNodes()返回此节点是否有任何子节点。- 返回:
-
如果此节点有任何子节点,则返回
true
,否则返回false
。
-
cloneNode
返回此节点的副本,即用作节点的通用复制构造函数。重复节点没有父节点(parentNode
是null
)并且没有用户数据。与导入节点关联的用户数据不会被保留。但是,如果已指定任何UserDataHandlers
以及关联的数据,将在该方法返回之前使用适当的参数调用这些处理程序。
克隆Element
会复制所有属性及其值,包括由 XML 处理器生成的表示默认属性的属性,但此方法不会复制它包含的任何子项,除非它是深度克隆。这包括Element
中包含的文本,因为该文本包含在子节点Text
中。直接克隆Attr
,而不是作为Element
克隆操作的一部分进行克隆,返回指定的属性(specified
是true
)。克隆一个Attr
总是克隆它的孩子,因为它们代表它的值,不管这是否是深度克隆。如果相应的Entity
可用,则克隆EntityReference
会自动构建其子树,无论这是否是深度克隆。克隆任何其他类型的节点只会返回该节点的副本。
请注意,克隆不可变子树会产生可变副本,但EntityReference
克隆的子树是只读的。此外,指定了未指定的Attr
节点的克隆。并且,克隆Document
、DocumentType
、Entity
和Notation
节点取决于实现。- 参数:
deep
- 如果是true
,则递归克隆指定节点下的子树;如果是false
,则仅克隆节点本身(及其属性,如果它是Element
)。- 返回:
- 重复节点。
-
normalize
void normalize()将此Node
下子树的完整深度中的所有Text
节点(包括属性节点)放入“正常”形式,其中只有结构(例如,元素、注释、处理指令、CDATA 部分和实体引用)将Text
节点分开,即既没有相邻的Text
节点,也没有空的Text
节点。这可用于确保文档的 DOM 视图与保存和重新加载时相同,并且在依赖于特定文档树结构的操作(例如 XPointer [X指针 ] 查找)要执行时很有用使用。如果附加到Node.ownerDocument
的DOMConfiguration
对象的参数“normalize-characters”是true
,该方法也将完全规范化Text
节点的字符。笔记:在文档包含
CDATASections
的情况下,仅规范化操作可能不够,因为 XPointers 不区分Text
节点和CDATASection
节点。- 自从:
- 1.4、DOM Level 3
-
isSupported
测试 DOM 实现是否实现了特定的功能,并且该功能是否受此节点的支持,如中所指定。- 参数:
feature
- 要测试的功能的名称。version
- 这是要测试的功能的版本号。- 返回:
-
如果此节点支持指定的功能,则返回
true
,否则返回false
。 - 自从:
- 1.4、DOM Level 2
-
getNamespaceURI
String getNamespaceURI()此节点的命名空间 URI,如果未指定,则为null
(参见 参考资料)。
这不是一个计算值,它是基于范围内命名空间声明检查的命名空间查找的结果。它只是在创建时给出的名称空间 URI。
对于ELEMENT_NODE
和ATTRIBUTE_NODE
以外的任何类型的节点以及使用 DOM Level 1 方法创建的节点,例如Document.createElement()
,这始终是null
。笔记:根据 Namespaces in XML 规范 [XML 命名空间 ],属性不会从它所附加的元素继承其命名空间。如果一个属性没有明确地指定一个名称空间,它就没有名称空间。
- 自从:
- 1.4、DOM Level 2
-
getPrefix
String getPrefix()此节点的命名空间前缀,如果未指定,则为null
。当它被定义为null
时,设置它无效,包括节点是否只读。
请注意,在允许的情况下设置此属性会更改包含限定名称的nodeName
属性,以及Element
和Attr
接口的tagName
和name
属性(如果适用)。
将前缀设置为null
使其未指定,将其设置为空字符串取决于实现。
另请注意,更改已知具有默认值的属性的前缀不会使具有默认值的新属性和原始前缀出现,因为namespaceURI
和localName
不会更改。
对于ELEMENT_NODE
和ATTRIBUTE_NODE
以外的任何类型的节点以及使用 DOM 级别 1 方法创建的节点,例如来自Document
接口的createElement
,这始终是null
。- 自从:
- 1.4、DOM Level 2
-
setPrefix
此节点的命名空间前缀,如果未指定,则为null
。当它被定义为null
时,设置它无效,包括节点是否只读。
请注意,在允许的情况下设置此属性会更改包含限定名称的nodeName
属性,以及Element
和Attr
接口的tagName
和name
属性(如果适用)。
将前缀设置为null
使其未指定,将其设置为空字符串取决于实现。
另请注意,更改已知具有默认值的属性的前缀不会使具有默认值的新属性和原始前缀出现,因为namespaceURI
和localName
不会更改。
对于ELEMENT_NODE
和ATTRIBUTE_NODE
以外的任何类型的节点以及使用 DOM 级别 1 方法创建的节点,例如来自Document
接口的createElement
,这始终是null
。- 抛出:
DOMException
- INVALID_CHARACTER_ERR:根据Document.xmlVersion
属性中指定的使用中的 XML 版本,如果指定前缀包含非法字符,则引发。
NO_MODIFICATION_ALLOWED_ERR:如果此节点是只读的则引发。
NAMESPACE_ERR:如果指定的prefix
根据 XML 规范中的命名空间格式错误,如果此节点的namespaceURI
是null
,如果指定的前缀是“xml”并且此节点的namespaceURI
不同于“ http://www.w3.org/XML/1998/namespace”,如果此节点是一个属性并且指定的前缀是“xmlns”并且这个节点的namespaceURI
不同于“http://www.w3.org/2000/xmlns/”,或者如果这个节点是一个属性并且这个节点的qualifiedName
是“xmlns”[XML 命名空间]。- 自从:
- 1.4、DOM Level 2
-
getLocalName
String getLocalName()返回此节点的限定名称的本地部分。
对于ELEMENT_NODE
和ATTRIBUTE_NODE
以外的任何类型的节点以及使用 DOM Level 1 方法创建的节点,例如Document.createElement()
,这始终是null
。- 自从:
- 1.4、DOM Level 2
-
hasAttributes
boolean hasAttributes()返回此节点(如果它是一个元素)是否具有任何属性。- 返回:
-
如果此节点具有任何属性,则返回
true
,否则返回false
。 - 自从:
- 1.4、DOM Level 2
-
getBaseURI
String getBaseURI()此节点的绝对基础 URI 或null
(如果实现无法获得绝对 URI)。该值的计算方法如 中所述。但是,当Document
支持功能“HTML” [DOM 2 级 HTML ] 时,首先使用 HTML BASE 元素的 href 属性值(如果有)计算基本 URI,否则使用Document
接口的documentURI
属性值。- 自从:
- 1.5,DOM 级别 3
-
compareDocumentPosition
根据文档顺序比较参考节点(即调用此方法的节点)和节点(即作为参数传递的节点)在文档中的位置。- 参数:
other
- 要与参考节点进行比较的节点。- 返回:
- 返回节点相对于参考节点的定位方式。
- 抛出:
DOMException
- NOT_SUPPORTED_ERR:当比较的节点来自不同的 DOM 实现时,这些实现不协调以返回一致的特定于实现的结果。- 自从:
- 1.5,DOM 级别 3
-
getTextContent
此属性返回此节点及其后代的文本内容。当它被定义为null
时,设置它是无效的。在设置时,此节点可能具有的任何可能的子节点都将被删除,如果新字符串不为空或null
,则替换为包含此属性设置为的字符串的单个Text
节点。
获取时,不执行序列化,返回的字符串不包含任何标记。不执行空格规范化,返回的字符串不包含元素内容中的空格(请参阅属性Text.isElementContentWhitespace
)。同样,在设置时,也不进行任何解析,将输入的字符串作为纯文本内容。
返回的字符串由该节点的文本内容组成,具体取决于其类型,定义如下:节点类型 内容 ELEMENT_NODE, ATTRIBUTE_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, DOCUMENT_FRAGMENT_NODE 每个子节点的 textContent
属性值的串联,不包括 COMMENT_NODE 和 PROCESSING_INSTRUCTION_NODE 节点。如果节点没有子节点,则这是空字符串。TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE, PROCESSING_INSTRUCTION_NODE nodeValue
DOCUMENT_NODE, DOCUMENT_TYPE_NODE, NOTATION_NODE null - 抛出:
DOMException
- DOMSTRING_SIZE_ERR:当它返回的字符多于实现平台上DOMString
变量中的字符数时引发。- 自从:
- 1.5,DOM 级别 3
-
setTextContent
此属性返回此节点及其后代的文本内容。当它被定义为null
时,设置它是无效的。在设置时,此节点可能具有的任何可能的子节点都将被删除,如果新字符串不为空或null
,则替换为包含此属性设置为的字符串的单个Text
节点。
获取时,不执行序列化,返回的字符串不包含任何标记。不执行空格规范化,返回的字符串不包含元素内容中的空格(请参阅属性Text.isElementContentWhitespace
)。同样,在设置时,也不进行任何解析,将输入的字符串作为纯文本内容。
返回的字符串由该节点的文本内容组成,具体取决于其类型,定义如下:节点类型 内容 ELEMENT_NODE, ATTRIBUTE_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, DOCUMENT_FRAGMENT_NODE 每个子节点的 textContent
属性值的串联,不包括 COMMENT_NODE 和 PROCESSING_INSTRUCTION_NODE 节点。如果节点没有子节点,则这是空字符串。TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE, PROCESSING_INSTRUCTION_NODE nodeValue
DOCUMENT_NODE, DOCUMENT_TYPE_NODE, NOTATION_NODE null - 抛出:
DOMException
- NO_MODIFICATION_ALLOWED_ERR:节点为只读时引发。- 自从:
- 1.5,DOM 级别 3
-
isSameNode
返回此节点是否与给定节点相同。
此方法提供了一种方法来确定实现返回的两个Node
引用是否引用同一对象。当两个Node
引用是对同一对象的引用时,即使通过代理,这些引用也可以完全互换使用,这样所有属性都具有相同的值,并且在任一引用上调用相同的 DOM 方法始终具有完全相同的效果。- 参数:
other
- 要测试的节点。- 返回:
-
如果节点相同,则返回
true
,否则返回false
。 - 自从:
- 1.5,DOM 级别 3
-
lookupPrefix
从此节点开始查找与给定名称空间 URI 关联的前缀。此方法忽略默认命名空间声明。
有关此方法使用的算法的详细信息,请参见。- 参数:
namespaceURI
- 要查找的名称空间 URI。- 返回:
-
如果找到则返回关联的名称空间前缀,如果未找到则返回
null
。如果多个前缀与命名空间前缀相关联,则返回的命名空间前缀是依赖于实现的。 - 自从:
- 1.5,DOM 级别 3
-
isDefaultNamespace
此方法检查指定的namespaceURI
是否为默认命名空间。- 参数:
namespaceURI
- 要查找的名称空间 URI。- 返回:
-
如果指定的
namespaceURI
是默认命名空间,则返回true
,否则返回false
。 - 自从:
- 1.5,DOM 级别 3
-
lookupNamespaceURI
从此节点开始查找与给定前缀关联的命名空间 URI。
有关此方法使用的算法的详细信息,请参见。- 参数:
prefix
- 要查找的前缀。如果此参数是null
,则该方法将返回默认命名空间 URI(如果有)。- 返回:
-
返回关联的命名空间 URI 或
null
(如果未找到)。 - 自从:
- 1.5,DOM 级别 3
-
isEqualNode
测试两个节点是否相等。
此方法测试节点的相等性,而不是相同性(即,两个节点是否是对同一对象的引用),可以使用Node.isSameNode()
进行测试。所有相同的节点也将相等,但反过来可能不成立。
当且仅当满足以下条件时,两个节点才相等:- 这两个节点属于同一类型。
- 以下字符串属性相等:
nodeName
、localName
、namespaceURI
、prefix
、nodeValue
。这是:它们都是null
,或者它们具有相同的长度并且字符对字符相同。 attributes
NamedNodeMaps
是相等的。这是:它们都是null
,或者它们具有相同的长度,并且对于一个map中存在的每个节点,另一个map中存在一个节点并且相等,尽管不一定在相同的索引处。childNodes
NodeLists
是相等的。这是:它们都是null
,或者它们具有相同的长度并且在相同的索引处包含相同的节点。请注意,规范化会影响平等;为避免这种情况,应在比较之前对节点进行归一化。
两个DocumentType
节点要相等,还必须满足以下条件:- 以下字符串属性相等:
publicId
、systemId
、internalSubset
。 entities
NamedNodeMaps
是相等的。notations
NamedNodeMaps
是相等的。
另一方面,以下不影响相等性:ownerDocument
、baseURI
和parentNode
属性,Attr
节点的specified
属性,Attr
和Element
节点的schemaTypeInfo
属性,_n53458 的Text.isElementContentWhitespace
属性_ 节点,以及任何用户数据或在节点上注册的事件监听器。笔记:作为一般规则,以上描述中未提及的任何内容在考虑相等性检查时都不重要。请注意,本规范的未来版本可能会考虑更多属性,并且符合本规范的实现预计会相应更新。
- 参数:
arg
- 比较相等性的节点。- 返回:
-
如果节点相等,则返回
true
,否则返回false
。 - 自从:
- 1.5,DOM 级别 3
-
getFeature
此方法返回一个专用对象,该对象实现指定功能和版本的专用 API,如 .专用对象也可以通过使用特定于绑定的转换方法来获得,但不一定期望如此,如 中所讨论的。此方法还允许实现提供不支持Node
接口的专用对象。- 参数:
feature
- 请求的功能的名称。请注意,特征名称前的任何加号“+”都将被忽略,因为它在此方法的上下文中并不重要。version
- 这是要测试的功能的版本号。- 返回:
-
返回一个对象,该对象实现了指定功能和版本的专用 API(如果有),如果没有实现与该功能关联的接口的对象,则返回
null
。如果该方法返回的DOMObject
实现了Node
接口,则必须委托给主核Node
,不能返回与主核Node
不一致的结果,如属性、childNodes等。 - 自从:
- 1.5,DOM 级别 3
-
setUserData
将对象关联到此节点上的键。稍后可以通过使用相同的键调用getUserData
从此节点检索对象。- 参数:
key
- 将对象关联到的键。data
- 与给定键关联的对象,或null
删除与该键的任何现有关联。handler
- 关联到该键的处理程序,或null
。- 返回:
-
返回先前关联到此节点上给定键的
DOMUserData
,如果没有则返回null
。 - 自从:
- 1.5,DOM 级别 3
-
getUserData
检索与此节点上的键关联的对象。该对象必须首先通过使用相同的键调用setUserData
设置到该节点。- 参数:
key
- 对象关联的键。- 返回:
-
返回与此节点上给定键关联的
DOMUserData
,如果没有则返回null
。 - 自从:
- 1.5,DOM 级别 3
-