Element:setAttributeNodeNS() 方法
Element
接口的 setAttributeNodeNS()
方法为元素添加一个新的限定命名空间的 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">一</div>
// <div id="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); // 返回:“utterleft”
备注
如果元素中已存在指定的属性,则该属性将被替换为新的属性,并返回被替换的属性。
注意:如果你尝试设置的时候没有克隆该节点,你可能会遇到 NS_ERROR_DOM_INUSE_ATTRIBUTE_ERR
:“Attribute already in use”错误,因为 DOM 要求 Attr
在克隆后才能被重复使用(不像其他节点一样可以被移动)。
规范
Specification |
---|
DOM Standard # dom-element-setattributenodens |
浏览器兼容性
BCD tables only load in the browser