W3cubDocs

/Web APIs

Element: setAttributeNode() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨July 2015⁩.

The setAttributeNode() method of the Element interface adds a new Attr node to the specified element.

If you don't need to work with the attribute node (such as cloning from another element) before adding it, you can use the setAttribute() method instead.

Syntax

setAttributeNode(attribute)

Parameters

attribute

The Attr node to add to the element.

Return value

The replaced attribute node, if any, returned by this function.

Examples

This example copies the align attribute from one element to another.

HTML

<div id="one" align="left">one</div>
<div id="two">two</div>

JavaScript

let d1 = document.getElementById("one");
let d2 = document.getElementById("two");
let a = d1.getAttributeNode("align");

d2.setAttributeNode(a.cloneNode(true));

// Returns: 'left'
alert(d2.attributes[1].value);

Notes

If the attribute named already exists on the element, that attribute is replaced with the new one and the replaced one is returned.

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android WebView on iOS
setAttributeNode 1 12 1 ≤12.1 1 18 4 ≤12.1 1 1.0 4.4 1

See also

© 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/setAttributeNode