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 的浏览器中加载。