Attr setAttributeNode(Attr newAttr) throws DOMException;
newAttr
The Attr node that represents the attribute to be added or whose value is to be modified.
The Attr node that was replaced by newAttr, or null if no attribute was replaced.
This method may throw a DOMException with a code of the following values:
INUSE_ATTRIBUTE_ERR
newAttr is already a member of the attribute set of some other Element node.
NO_MODIFICATION_ALLOWED_ERR
The Element node is read-only and does not allow modifications to its attributes.
WRONG_DOCUMENT_ERR
newAttr has a different ownerDocument property than the Element on which it is being set.
This method adds a new Attr node to the set of attributes of an Element node. If an attribute with the same name already exists for the Element, newAttr replaces that attribute, and the replaced Attr node is returned. If no such attribute already exists, this method defines a new attribute for the Element.
It is usually easier to use setAttribute( ) instead of setAttributeNode( ). However, you should use setAttributeNode( ) when you need to define an attribute whose value contains an entity reference for an XML document.