The removeAttributeNode() method of the Element object removes the specified attribute from the current element.


removedAttr = element.removeAttributeNode(attributeNode)
  • attributeNode is the Attr node that needs to be removed.
  • removedAttr is the removed Attr node.


// Given: <div id="top" align="center" />
var d = document.getElementById("top");
var d_align = d.getAttributeNode("align");
// align is now removed: <div id="top" />


If the removed attribute has a default value, it is immediately replaced. The replacing attribute has the same namespace URI and local name, as well as the original prefix, when applicable.

There is no removeAttributeNodeNS method; the removeAttributeNode method can remove both namespaced attributes and non-namespaced attributes.

DOM methods dealing with element's attributes:

Not namespace-aware, most commonly used methods Namespace-aware variants (DOM Level 2) DOM Level 1 methods for dealing with Attr nodes directly (seldom used) DOM Level 2 namespace-aware methods for dealing with Attr nodes directly (seldom used)
setAttribute (DOM 1) setAttributeNS setAttributeNode setAttributeNodeNS
getAttribute (DOM 1) getAttributeNS getAttributeNode getAttributeNodeNS
hasAttribute (DOM 2) hasAttributeNS - -
removeAttribute (DOM 1) removeAttributeNS removeAttributeNode -


DOM Standard (DOM)
# dom-element-removeattributenode

Browser compatibility

BCD tables only load in the browser