NamedNodeMap.setNamedItem()

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.

setNamedItem()NamedNodeMap インターフェイスのメソッドで、名前によって識別される属性 (Attr) をこのマップに設定します。 すでに同じ名前の Attr がこのマップに存在した場合は、置き換えます

構文

js
setNamedItem(attr);

引数

attr

このマップに挿入する属性です。

返値

置き換えた場合は古い属性を返します。属性が新規の場合は null です。

例外

InUseAttributeError DOMException

この属性が他のマップに所属していた場合に発生します。

html
<span one="one" two="two"></span>
<pre test="testValue"></pre>
js
const span = document.getElementsByTagName("span")[0];
const pre = document.getElementsByTagName("pre")[0];
const attrMap = pre.attributes;

let result = `The '<pre>' element initially contains ${attrMap.length} attributes.\n\n`;

result += "We remove `one` from `<span>` and adds it to `<pre>`.\n";
const one = span.attributes.removeNamedItem("one");
attrMap.setNamedItem(one);
result += `The '<pre>' element now contains ${pre.attributes.length} attributes.\n\n`;

result += "We get 'two' from '<span>' and try to adds it to '<pre>'.\n";
const two = span.attributes.getNamedItem("two");
try {
  attrMap.setNamedItem(two);
} catch (e) {
  result += `An exception has been raised: ${e.name}.\n`;
}

pre.textContent = result;

仕様書

Specification
DOM Standard
# dom-namednodemap-setnameditem

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
setNamedItem

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support