Adds a node using its
nodeName
attribute. If a node with
that name is already present in this map, it is replaced by the new
one. Replacing a node by itself has no effect.
As the
nodeName
attribute is used to derive the name
which the node must be stored under, multiple nodes of certain types
(those that have a "special" string value) cannot be stored as the
names would clash. This is seen as preferable to allowing nodes to be
aliased.
Returns:
If the new
Node
replaces an existing node the
replaced
Node
is returned, otherwise
null
is returned.
Parameters:
-
arg - A node to store in this map. The node will later be
accessible using the value of its
nodeName
attribute.
Throws:
-
DOMException - WRONG_DOCUMENT_ERR: Raised if
arg
was created from a
different document than the one that created this map.
NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.
INUSE_ATTRIBUTE_ERR: Raised if
arg
is an
Attr
that is already an attribute of another
Element
object. The DOM user must explicitly clone
Attr
nodes to re-use them in other elements.
HIERARCHY_REQUEST_ERR: Raised if an attempt is made to add a node
doesn't belong in this NamedNodeMap. Examples would include trying
to insert something other than an Attr node into an Element's map
of attributes, or a non-Entity node into the DocumentType's map of
Entities.