--- title: NamedNodeMap slug: Web/API/NamedNodeMap translation_of: Web/API/NamedNodeMap ---
{{APIRef("DOM")}}

NamedNodeMap 介面表示了 {{domxref("Attr")}} 物件的集合。雖然 NamedNodeMap 與 {{domxref("NodeList")}} 都能如陣列一般透過索引訪問成員,但和 NodeList 不同的是,NamedNodeMap 中的成員並沒有順序。

NamedNodeMap 物件具有即時性(live),如果其內部成員(屬性節點物件)發生改變,NamedNodeMap 物件會自動更新至最新的狀態。

僅管被稱作 NamedNodeMap,但本介面並不是直接用來處理節點物件({{domxref("Node")}}),而是專門負責屬性節點物件({{domxref("Attr")}})。屬性節點是一種特殊的節點,在部分瀏覽器實作中依然存在。

屬性

This interface doesn't inherit any property.

{{domxref("NamedNodeMap.length")}} {{ReadOnlyInline}}
Returns the amount of objects in the map.

方法

This interface doesn't inherit any method.

{{domxref("NamedNodeMap.getNamedItem()")}}
Returns a {{domxref("Attr")}}, corresponding to the given name.
{{domxref("NamedNodeMap.setNamedItem()")}}
Replaces, or adds, the {{domxref("Attr")}} identified in the map by the given name.
{{domxref("NamedNodeMap.removeNamedItem()")}}
Removes the {{domxref("Attr")}} identified by the given map.
{{domxref("NamedNodeMap.item()")}}
Returns the {{domxref("Attr")}} at the given index, or null if the index is higher or equal to the number of nodes.
{{domxref("NamedNodeMap.getNamedItemNS()")}}
Returns a {{domxref("Attr")}} identified by a namespace and related local name.
{{domxref("NamedNodeMap.setNamedItemNS()")}}
Replaces, or adds, the {{domxref("Attr")}} identified in the map by the given namespace and related local name.
{{domxref("NamedNodeMap.removeNamedItemNS()")}}
Removes the {{domxref("Attr")}} identified by the given namespace and related local name.

規範

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 Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}
Deals with {{domxref("Attr")}} rather than {{domxref("Node")}} {{CompatUnknown}} {{CompatUnknown}} {{CompatGeckoDesktop(22)}}[1] {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Feature Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}
Deals with {{domxref("Attr")}} rather than {{domxref("Node")}} {{CompatUnknown}} {{CompatUnknown}} {{CompatGeckoMobile(22)}}[1] {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}

[1] In Gecko 22 this interface was named mozNamedAttrMap. In Gecko 34 it was named back to NamedNodeMap.

參見