This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The removeAttributeNode() method of the Element interface removes the specified Attr node from the element.
If you don't need to inspect the attribute node before removing it, you can use the Element.removeAttribute() method instead.
removeAttributeNode(attributeNode)
attributeNodeThe attribute node to remove from the element.
The attribute node that was removed.
NotFoundError DOMException
Thrown when the element's attribute list does not contain the attribute node.
// Given: <div id="top" align="center" />
const d = document.getElementById("top");
const d_align = d.getAttributeNode("align");
d.removeAttributeNode(d_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.
| Specification |
|---|
| DOM> # dom-element-removeattributenode> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
removeAttributeNode |
1 | 12 | 1 | ≤12.1 | 1 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 | 1 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Element/removeAttributeNode