- 所有已知的子接口:
-
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
(例如,Element
的nodeValue
或Comment
的attributes
)的这些属性没有明显的映射,会返回null
。请注意,专门的接口可能包含其他更方便的机制来获取和设置相关信息。
nodeName
、nodeValue
和attributes
的值根据节点类型如下:
接口 | nodeName | nodeValue | attributes |
---|---|---|---|
Attr |
与Attr.name 相同 |
与Attr.value 相同 |
null |
CDATASection |
"#cdata-section" |
与CharacterData.data 相同,即CDATA部分的内容 |
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 Summary
Modifier and TypeFieldDescriptionstatic 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
节点。 -
Method Summary
Modifier and TypeMethodDescriptionappendChild
(Node newChild) 将节点newChild
添加到此节点的子节点列表的末尾。cloneNode
(boolean deep) 返回此节点的副本,即作为节点的通用复制构造函数。short
compareDocumentPosition
(Node other) 将调用此方法的引用节点与作为参数传递的节点在文档中的位置进行比较,并根据文档顺序进行比较。包含此节点属性(如果是Element
)的NamedNodeMap
,否则为null
。此节点的绝对基本URI,如果实现无法获取绝对URI,则为null
。包含此节点所有子节点的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) 在子节点列表中用newChild
替换oldChild
节点,并返回oldChild
节点。void
setNodeValue
(String nodeValue) 此节点的值,取决于其类型;请参阅上表。void
此节点的命名空间前缀,如果未指定,则为null
。void
setTextContent
(String textContent) 此属性返回此节点及其后代的文本内容。setUserData
(String key, Object data, UserDataHandler handler) 将对象与此节点上的键关联。
-
Field Details
-
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
。- See Also:
-
DOCUMENT_NODE
static final short DOCUMENT_NODEThe node is aDocument
.- 参见:
-
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前面与后面的确定是特定于实现的。- 参见:
-
-
Method Details
-
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()包含该节点属性的NamedNodeMap
(如果它是一个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
用newChild
替换子节点oldChild
在子节点列表中,并返回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
始终会克隆其子节点,因为它们代表其值,无论这是否是深度克隆。自动构造EntityReference
的子树,如果存在相应的Entity
,无论这是否是深度克隆。克隆任何其他类型的节点只是返回此节点的副本。
请注意,克隆不可变子树会导致可变副本,但EntityReference
克隆的子节点是只读的。此外,未指定的Attr
节点的克隆是指定的。并且,克隆Document
、DocumentType
、Entity
和Notation
节点是依赖于实现的。- 参数:
-
deep
- 如果为true
,则递归克隆指定节点下的子树;如果为false
,则仅克隆节点本身(以及其属性,如果它是Element
)。 - 返回:
- 复制的节点。
-
normalize
void normalize()将此Node
下的子树的所有Text
节点(包括属性节点)放入“正常”形式,其中仅结构(例如元素、注释、处理指令、CDATA部分和实体引用)分隔Text
节点,即没有相邻的Text
节点或空Text
节点。这可用于确保文档的DOM视图与保存并重新加载后的文档相同,并且在使用依赖于特定文档树结构的操作(例如XPointer [XPointer]查找)时非常有用。如果附加到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
。注意: 根据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 Level 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 Level 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,如果实现无法获取绝对URI,则为null
。该值的计算方式如所述。但是,当Document
支持特性“HTML”[DOM Level 2 HTML]时,基本URI首先使用HTML BASE元素的href属性的值(如果有的话),否则使用Document
接口的documentURI
属性的值计算。- 自从:
- 1.5, DOM Level 3
-
compareDocumentPosition
比较引用节点(即调用此方法的节点)与节点(即作为参数传递的节点)在文档中的位置,并根据文档顺序进行比较。- 参数:
-
other
- 要与参考节点进行比较的节点。 - 返回:
- 返回节点相对于参考节点的位置。
- 抛出:
-
DOMException
- NOT_SUPPORTED_ERR: 当比较的节点来自不协调以返回一致的特定于实现的结果的不同DOM实现时。 - 自从:
- 1.5, DOM Level 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 Level 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 Level 3
-
isSameNode
返回此节点是否与给定节点相同。
此方法提供了一种确定两个由实现返回的Node
引用是否引用相同对象的方法。当两个Node
引用引用同一对象时,即使通过代理,这些引用也可以完全互换使用,以便所有属性具有相同的值,并且在任一引用上调用相同的DOM方法始终具有完全相同的效果。- 参数:
-
other
- 要测试的节点。 - 返回:
-
如果节点相同,则返回
true
,否则返回false
。 - 自从:
- 1.5, DOM Level 3
-
lookupPrefix
查找与给定命名空间URI关联的前缀,从此节点开始。此方法忽略默认命名空间声明。
有关此方法使用的算法的详细信息,请参阅。- 参数:
-
namespaceURI
- 要查找的命名空间URI。 - 返回:
-
如果找到关联的命名空间前缀,则返回该前缀,否则返回
null
。如果有多个前缀与命名空间前缀关联,则返回的命名空间前缀是实现相关的。 - 自从:
- 1.5, DOM Level 3
-
isDefaultNamespace
此方法检查指定的namespaceURI
是否为默认命名空间。- 参数:
-
namespaceURI
- 要查找的命名空间URI。 - 返回:
-
如果指定的
namespaceURI
是默认命名空间,则返回true
,否则返回false
。 - 自从:
- 1.5, DOM Level 3
-
lookupNamespaceURI
查找与给定前缀关联的命名空间URI,从此节点开始。
有关此方法使用的算法的详细信息,请参阅。- 参数:
-
prefix
- 要查找的前缀。如果此参数为null
,则方法将返回任何默认命名空间URI(如果有)。 - 返回:
-
返回关联的命名空间URI,如果未找到,则返回
null
。 - 自从:
- 1.5, DOM Level 3
-
isEqualNode
测试两个节点是否相等。
此方法测试节点的相等性,而不是相同性(即,两个节点是否引用同一对象),可以使用Node.isSameNode()
进行测试。所有相同的节点也将是相等的,尽管反之不一定成立。
仅当满足以下条件时,两个节点才相等:- 两个节点具有相同的类型。
- 以下字符串属性相等:
nodeName
、localName
、namespaceURI
、prefix
、nodeValue
。即它们都为null
,或者它们具有相同的长度且逐个字符相同。 attributes
NamedNodeMaps
相等。即它们都为null
,或者它们具有相同的长度,并且对于一个存在于一个映射中的节点,存在于另一个映射中的节点也存在且相等,尽管不一定在相同的索引上。childNodes
NodeLists
相等。即它们都为null
,或者它们具有相同的长度,并且在相同的索引处包含相等的节点。请注意,规范化可能会影响相等性;为避免这种情况,应在比较之前对节点进行规范化。
要使两个DocumentType
节点相等,还必须满足以下条件:- 以下字符串属性相等:
publicId
、systemId
、internalSubset
。 entities
NamedNodeMaps
相等。notations
NamedNodeMaps
相等。
另外,以下内容不影响相等性:对于Attr
节点,ownerDocument
、baseURI
和parentNode
属性,Attr
和Element
节点的specified
属性,Text
节点的schemaTypeInfo
属性,Text
节点的Text.isElementContentWhitespace
属性,以及在节点上注册的任何用户数据或事件侦听器。注意: 作为一般规则,上述描述中未提及的任何内容在考虑相等性检查时都不重要。请注意,本规范的未来版本可能会考虑更多属性,并且符合本规范的实现预计将相应更新。
- 参数:
-
arg
- 用于比较相等性的节点。 - 返回:
-
如果节点相等,则返回
true
,否则返回false
。 - 自从:
- 1.5, DOM Level 3
-
getFeature
此方法返回一个专门的对象,该对象实现指定功能和版本的专门API,如所述。专门对象也可以通过使用特定于绑定的转换方法获得,但不一定期望如此,如所讨论。此方法还允许实现提供不支持Node
接口的专门对象。- 参数:
-
feature
- 请求的功能名称。请注意,在此方法的上下文中,任何前缀为加号“+”的功能名称都将被忽略,因为在此方法的上下文中不重要。 -
version
- 这是要测试的功能的版本号。 - 返回:
-
返回一个实现指定功能和版本的专门API的对象,如果有的话,或者如果没有实现与该功能关联的接口的对象,则返回
null
。如果此方法返回的DOMObject
实现了Node
接口,则必须委托给主要核心Node
,并且不得返回与主要核心Node
不一致的结果,例如属性、childNodes等。 - 自从:
- 1.5, DOM Level 3
-
setUserData
将对象与此节点上的键关联。稍后可以通过使用相同键调用getUserData
从此节点检索对象。- 参数:
-
key
- 要关联到对象的键。 -
data
- 要关联到给定键的对象,或者null
以删除与该键相关联的任何现有关联。 -
handler
- 要关联到该键的处理程序,或者null
。 - 返回:
-
返回先前与此节点上给定键关联的
DOMUserData
,如果没有则返回null
。 - 自版本:
- 1.5,DOM Level 3
-
getUserData
检索与此节点上的键关联的对象。必须首先通过使用相同键调用setUserData
将对象设置到此节点。- 参数:
-
key
- 该对象关联的键。 - 返回:
-
返回与此节点上给定键关联的
DOMUserData
,如果没有则返回null
。 - 自版本:
- 1.5,DOM Level 3
-