元素:setAttributeNodeNS() 方法
setAttributeNodeNS()
是 Element
接口的一个方法,用于向元素添加一个新的命名空间 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
"属性正在使用" 错误,因为 DOM 要求克隆 Attr
以便重复使用(与可以移动的其他节点不同)。
规范
规范 |
---|
DOM 标准 # dom-element-setattributenodens |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。