NamedNodeMap: setNamedItem() 方法

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.querySelector("span");
const pre = document.querySelector("pre");
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 (error) {
  result += `An exception has been raised: ${error.name}.\n`;
}

pre.textContent = result;

规范

规范
DOM 标准
# dom-namednodemap-setnameditem

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。