This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The setNamedItemNS() method of the NamedNodeMap interface puts the Attr identified by its name in the map. If there was already an Attr with the same name in the map, it is replaced.
Note: This method is an alias of setNamedItem() you can use them interchangeably.
setNamedItemNS(attr)
attrThe attribute to insert in the map.
Returns the old attribute if replaced, or null if the attribute is new.
InUseAttributeError DOMException
Thrown if the attribute is still part of another map.
<span ob:one="one"></span> <pre></pre>
const parser = new DOMParser();
// ob:one in <span> is not in a namespace, while ob:one in <warning>, is.
const xmlString =
'<warning ob:one="test" xmlns:ob="http://www.example.com/ob">Beware!</warning>';
const doc = parser.parseFromString(xmlString, "application/xml");
const span = document.querySelector("span");
const pre = document.querySelector("pre");
const warning = doc.querySelector("warning");
const attrMap = span.attributes;
let result = `The '<span>' element initially contains ${attrMap.length} attribute.\n\n`;
result += "We remove `one` from '<span>' and adds it to '<pre>'.\n";
const one = warning.attributes.removeNamedItemNS(
"http://www.example.com/ob",
"one",
);
attrMap.setNamedItemNS(one);
result += `The '<span>' element now contains ${span.attributes.length} attributes:\n\n`;
result += "Prefix\tLocal name\tQualified name\n";
result += "=========================================\n";
for (const attr of attrMap) {
result += `${attr.prefix}\t${attr.localName}\t\t${attr.name}\n`;
}
pre.textContent = result;
| Specification |
|---|
| DOM> # dom-namednodemap-setnameditemns> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
setNamedItemNS |
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/NamedNodeMap/setNamedItemNS