public interface NamedNodeMap
实现
NamedNodeMap
接口的对象用于表示可以按名称访问的节点集合。请注意,NamedNodeMap
不继承自NodeList
;NamedNodeMaps
不按特定顺序维护。实现NamedNodeMap
的对象中包含的对象也可以通过序数索引访问,但这仅是为了方便枚举NamedNodeMap
的内容,并不意味着DOM指定了这些节点的顺序。
DOM中的NamedNodeMap
对象是动态的。
-
Method Summary
Modifier and TypeMethodDescriptionint
此映射中的节点数。getNamedItem
(String name) 按名称检索指定的节点。getNamedItemNS
(String namespaceURI, String localName) 按本地名称和命名空间URI检索指定的节点。item
(int index) 返回映射中的第index
项。removeNamedItem
(String name) 按名称删除指定的节点。removeNamedItemNS
(String namespaceURI, String localName) 按本地名称和命名空间URI删除指定的节点。setNamedItem
(Node arg) 使用其nodeName
属性添加节点。setNamedItemNS
(Node arg) 使用其namespaceURI
和localName
添加节点。
-
Method Details
-
getNamedItem
按名称检索指定的节点。- 参数:
-
name
- 要检索的节点的nodeName
。 - 返回:
-
具有指定
nodeName
的Node
(任何类型),如果它在此映射中不标识任何节点,则返回null
。
-
setNamedItem
使用其nodeName
属性添加节点。如果此映射中已存在具有该名称的节点,则将其替换为新节点。通过自身替换节点不会产生任何效果。
由于nodeName
属性用于派生节点必须存储在其中的名称,因此某些类型的多个节点(具有“特殊”字符串值的节点)不能存储,因为名称会发生冲突。这被视为优于允许节点别名。- 参数:
-
arg
- 要存储在此映射中的节点。稍后可以使用其nodeName
属性的值访问该节点。 - 返回:
-
如果新的
Node
替换了现有节点,则返回替换的Node
,否则返回null
。 - 抛出:
-
DOMException
- WRONG_DOCUMENT_ERR:如果arg
是从创建此映射的文档不同的文档创建的,则引发。
NO_MODIFICATION_ALLOWED_ERR:如果此映射是只读的,则引发。
INUSE_ATTRIBUTE_ERR:如果arg
是已经是另一个Element
对象的属性的Attr
,则引发。DOM用户必须显式克隆Attr
节点以在其他元素中重用它们。
HIERARCHY_REQUEST_ERR:如果尝试添加一个不属于此NamedNodeMap的节点,则引发。示例包括尝试将除Attr节点以外的其他内容插入元素的属性映射中,或将非实体节点插入DocumentType的实体映射中。
-
removeNamedItem
按名称删除指定的节点。当此映射包含附加到元素的属性时,如果已知已删除的属性具有默认值,则会立即出现一个包含默认值的属性,以及相应的命名空间URI、本地名称和前缀(如果适用)。- 参数:
-
name
- 要移除的节点的nodeName
。 - 返回:
- 如果存在具有该名称的节点,则从此映射中移除的节点。
- 抛出:
-
DOMException
- NOT_FOUND_ERR:如果此映射中没有名为name
的节点,则引发。
NO_MODIFICATION_ALLOWED_ERR:如果此映射是只读的,则引发。
-
item
返回映射中的第index
项。如果index
大于或等于此映射中的节点数,则返回null
。- 参数:
-
index
- 在此映射中的索引。 - 返回:
-
映射中位置为
index
的节点,如果这不是有效索引,则返回null
。
-
getLength
int getLength()此映射中的节点数。有效子节点索引的范围是从0
到length-1
(包括)。 -
getNamedItemNS
按本地名称和命名空间URI检索指定的节点。
根据[XML命名空间],如果应用程序希望方法的namespaceURI参数为空,则必须使用值null。- 参数:
-
namespaceURI
- 要检索的节点的命名空间URI。 -
localName
- 要检索的节点的本地名称。 - 返回:
-
具有指定本地名称和命名空间URI的
Node
(任何类型),如果它们在此映射中不标识任何节点,则返回null
。 - 抛出:
-
DOMException
- NOT_SUPPORTED_ERR:如果实现不支持特性“XML”,并且通过文档公开的语言不支持XML命名空间(例如[HTML 4.01])可能会引发。 - 自:
- 1.4,DOM Level 2
-
setNamedItemNS
使用其namespaceURI
和localName
添加节点。如果此映射中已存在具有该命名空间URI和本地名称的节点,则将其替换为新节点。通过自身替换节点不会产生任何效果。
根据[XML命名空间],如果应用程序希望方法的namespaceURI参数为空,则必须使用值null。- 参数:
-
arg
- 要存储在此映射中的节点。稍后可以使用其namespaceURI
和localName
属性的值访问该节点。 - 返回:
-
如果新的
Node
替换了现有节点,则返回替换的Node
,否则返回null
。 - 抛出:
-
DOMException
- WRONG_DOCUMENT_ERR:如果arg
是从创建此映射的文档不同的文档创建的,则引发。
NO_MODIFICATION_ALLOWED_ERR:如果此映射是只读的,则引发。
INUSE_ATTRIBUTE_ERR:如果arg
是已经是另一个Element
对象的属性的Attr
,则引发。DOM用户必须显式克隆Attr
节点以在其他元素中重用它们。
HIERARCHY_REQUEST_ERR:如果尝试添加一个不属于此NamedNodeMap的节点,则引发。示例包括尝试将除Attr节点以外的其他内容插入元素的属性映射中,或将非实体节点插入DocumentType的实体映射中。
NOT_SUPPORTED_ERR:如果实现不支持特性“XML”,并且通过文档公开的语言不支持XML命名空间(例如[HTML 4.01])可能会引发。 - 自:
- 1.4,DOM Level 2
-
removeNamedItemNS
按本地名称和命名空间URI删除指定的节点。当此映射包含附加到元素的属性时,如果已知已删除的属性具有默认值,则会立即出现一个包含默认值的属性,以及相应的命名空间URI、本地名称和前缀(如果适用)。
根据[XML命名空间],如果应用程序希望方法的namespaceURI参数为空,则必须使用值null。- 参数:
-
namespaceURI
- 要移除的节点的命名空间URI。 -
localName
- 要移除的节点的本地名称。 - 返回:
- 如果存在具有指定本地名称和命名空间URI的节点,则从此映射中移除的节点。
- 抛出:
-
DOMException
- NOT_FOUND_ERR:如果此映射中没有具有指定namespaceURI
和localName
的节点,则引发。
NO_MODIFICATION_ALLOWED_ERR:如果此映射是只读的,则引发。
NOT_SUPPORTED_ERR:如果实现不支持特性“XML”,并且通过文档公开的语言不支持XML命名空间(例如[HTML 4.01])可能会引发。 - 自:
- 1.4,DOM Level 2
-