DOM

Document.createAttribute メソッド

 編集:2022.09.02 by T.A.

新しい属性ノードを作成し、それを返します。

オブジェクトは、Attr インターフェースを実装するノードを作成されます。DOMは、この方法で特定の要素に追加できる属性の種類を強制しません。

注: パラメーターで指定された文字列は小文字に変換されます。

構文
Document.createAttribute(name)
Document 実質 document で良いようです。
name 属性の名前の文字列です。
返値

Attr ノード。

例外

パラメータに XML 属性の無効な文字が含まれている場合は INVALID_CHARACTER_ERR。

var node = document.getElementById("div1");
var a = document.createAttribute("my_attrib");
a.value = "newVal";
node.setAttributeNode(a);
console.log(node.getAttribute("my_attrib")); // "newVal"

HTML:

<DIV id=div1>DIV要素:id=div1</DIV>

JavaScript:

Y=document.getElementById("div1");	//要素オブジェクトを取得。
A=document.createAttribute("my_attrib");	//新しい属性を作成。
A.value = "newVal";	//新しい属性の値を設定。
Y.setAttributeNode(A);	//取得した要素に新しい属性を割り当てる。
D=Y.getAttribute("my_attrib");	//設定した属性の値を読んでみる。

しかし、

D=Y.my_attrib;	//=[undefined]:undefined。直接要素に指定してみたが読めなかった。
D=div1.my_attrib;	//=[undefined]:undefined。こちらも同様。

¶プロパティと属性は異なるものなか?

Y.my_attrib=A;

と、することで、Y.my_attrib で属性の内容が読めた。なにか工夫が必要なようだ。


テスト