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 |
瀏覽器相容性
載入中…