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