--- title: NamedNodeMap slug: Web/API/NamedNodeMap translation_of: Web/API/NamedNodeMap ---
{{APIRef}}

NamedNodeMap 接口表示属性节点 {{domxref("Attr")}} 对象的集合。尽管在 NamedNodeMap 里面的对象可以像数组一样通过索引来访问,但是它和 {{ domxref("NodeList") }} 不一样,对象的顺序没有指定。

NamedNodeMap 对象是即时的(live),因此,如果它内部包含的对象发生改变的话,该对象会自动更新到最新的状态。

尽管被称为 NamedNodeMap,但这个接口不是用来处理节点对象({{domxref("Node")}}),而是用来处理属性节点对象({{domxref("Attr")}}),属性节点原来是一种特殊的节点({{domxref("Node")}}),仍然在某些实现环境(浏览器)中有效。

属性

该接口没有继承任何属性。

{{ domxref("NamedNodeMap.length") }} {{ReadOnlyInline}}
返回映射(map)中对象的数量。

方法

该接口没有继承任何方法。

{{domxref("NamedNodeMap.getNamedItem()")}}
返回一个给定名字对应的属性节点({{ domxref("Attr") }})。
{{domxref("NamedNodeMap.setNamedItem()")}}
替换或添加一个属性节点({{ domxref("Attr") }})到映射(map)中。
{{domxref("NamedNodeMap.removeNamedItem()")}}
移除一个属性节点({{ domxref("Attr") }})。
{{domxref("NamedNodeMap.item()")}}
返回指定索引处的属性节点({{ domxref("Attr") }}),或者,当索引超出或等于属性节点的数量时,返回 null
{{domxref("NamedNodeMap.getNamedItemNS()")}}
根据给定的命名空间参数和name参数返回一个{{ domxref("Attr") }}对象。
{{domxref("NamedNodeMap.setNamedItemNS()")}}
替换、添加给定命名空间参数和name参数的{{ domxref("Attr") }} 对象 。
{{domxref("NamedNodeMap.removeNamedItemNS()")}}
删除给定命名空间参数和name参数的{{ domxref("Attr") }} 对象 。

规范

Specification Status Comment
{{SpecName('DOM WHATWG', '#interface-namednodemap', 'NamedNodeMap')}} {{Spec2('DOM WHATWG')}} Deals with {{domxref("Attr")}} instead of {{domxref("Node")}}
{{SpecName('DOM3 Core', 'core.html#ID-1780488922', 'NamedNodeMap')}} {{Spec2('DOM3 Core')}} No change from {{SpecName('DOM2 Core')}}
{{SpecName('DOM2 Core', 'core.html#ID-1780488922', 'NamedNodeMap')}} {{Spec2('DOM2 Core')}} Added getNamedItemNS(), setNamedItemNS() and removeNamedItemNS()
{{SpecName('DOM1', 'core.html#ID-1780488922', 'NamedNodeMap')}} {{Spec2('DOM1')}} Initial definition.

浏览器兼容性

{{ CompatibilityTable() }}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support {{ CompatVersionUnknown() }} {{ CompatVersionUnknown() }} {{ CompatVersionUnknown() }} {{ CompatVersionUnknown() }} {{ CompatVersionUnknown() }}
Deals with {{domxref("Attr")}} rather than {{domxref("Node")}} {{ CompatUnknown() }} {{CompatGeckoDesktop(22)}} (but this interface was named mozNamedAttrMap to reflect this change)
{{CompatGeckoDesktop(34)}} (interface named back to NamedNodeMap)
 
{{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }}
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support {{ CompatVersionUnknown() }} {{ CompatVersionUnknown() }} {{ CompatVersionUnknown() }} {{ CompatVersionUnknown() }} {{ CompatVersionUnknown() }}
Deals with {{domxref("Attr")}} rather than {{domxref("Node")}} {{ CompatUnknown() }} {{CompatGeckoMobile(22)}} (but this interface was named mozNamedAttrMap to reflect this change)
{{CompatGeckoMobile(34)}} (interface named back to NamedNodeMap)
{{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }}

相关链接