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