docs.rodeo

MDN Web Docs mirror

NamedNodeMap: setNamedItemNS() method

{{APIRef("DOM")}} 

The setNamedItemNS() method of the {{domxref("NamedNodeMap")}}  interface puts the {{domxref("Attr")}}  identified by its name in the map. If there was already an {{domxref("Attr")}}  with the same name in the map, it is replaced.

[!NOTE] This method is an alias of setNamedItem() you can use them interchangeably.

Syntax

setNamedItemNS(attr)

Parameters

Return value

Returns the old attribute if replaced, or null if the attribute is new.

Exceptions

Example

<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;

{{EmbedLiveSample("Example", "100%", 200)}} 

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

In this article

View on MDN