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
-