Element:setAttributeNodeNS() 方法
Element 接口的 setAttributeNodeNS() 方法将一个新的带命名空间(namespaced)的 Attr 节点添加到元素。
如果您在添加属性节点之前不需要对其进行操作(例如从另一个元素克隆),则可以使用 setAttributeNS() 方法代替。
如果您正在处理 HTML 文档,并且不需要将请求的属性指定为特定命名空间的一部分,则可以使用 setAttribute() 方法代替。
语法
js
setAttributeNodeNS(attributeNode)
参数
attributeNode-
要添加到元素的
Attr节点。
返回值
此函数返回的被替换的属性节点(如果有)。
示例
js
// <div id="one" xmlns:myNS="http://www.mozilla.org/ns/specialspace"
// myNS:special-align="utterleft">one</div>
// <div id="two">two</div>
const myns = "http://www.mozilla.org/ns/specialspace";
const d1 = document.getElementById("one");
const d2 = document.getElementById("two");
const a = d1.getAttributeNodeNS(myns, "special-align");
d2.setAttributeNodeNS(a.cloneNode(true));
alert(d2.attributes[1].value); // returns: `utterleft'
注意
如果指定的属性已存在于元素上,则该属性将被新属性替换,并返回被替换的属性。
请注意,如果您尝试在不克隆节点的情况下进行设置,可能会看到 NS_ERROR_DOM_INUSE_ATTRIBUTE_ERR “Attribute already in use”(属性已在使用中)错误,因为 DOM 要求 Attr 节点被克隆才能重用(与其他可以移动的节点不同)。
规范
| 规范 |
|---|
| DOM # dom-element-setattributenodens |
浏览器兼容性
加载中…