NamedNodeMap: setNamedItem() 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 setNamedItem() method of the NamedNodeMap interface
puts the Attr identified by its name in the map.
If there is already an Attr with the same name in the map,
it is replaced.
Syntax
js
setNamedItem(attr)
Parameters
attr-
the attribute to insert in the map.
Return value
Returns the old attribute if replaced, or null if the attribute is new.
Exceptions
InUseAttributeErrorDOMException-
Thrown if the attribute is still part of another map.
Example
html
<span class="foo" id="bar"></span>
<pre contenteditable></pre>
js
const span = document.querySelector("span");
const pre = document.querySelector("pre");
let result = `The \`<pre>\` element initially contains ${pre.attributes.length} attributes.\n\n`;
result += "We remove `class` from `<span>` and add it to `<pre>`.\n";
const classAttribute = span.attributes.removeNamedItem("class");
pre.attributes.setNamedItem(classAttribute);
result += `The \`<pre>\` element now contains ${pre.attributes.length} attributes.\n\n`;
result += "We get `id` from `<span>` and try to add it to `<pre>`.\n";
const id = span.attributes.getNamedItem("id");
try {
pre.attributes.setNamedItem(id);
} catch (error) {
result += `An exception has been raised: ${error.name}: ${error.message}.\n`;
}
pre.textContent = result;
Specifications
| Specification |
|---|
| DOM> # dom-namednodemap-setnameditem> |
Browser compatibility
Loading…