→、
新しい属性ノードを作成し、それを返します。
オブジェクトは、Attr インターフェースを実装するノードを作成されます。DOMは、この方法で特定の要素に追加できる属性の種類を強制しません。
注: パラメーターで指定された文字列は小文字に変換されます。
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 で属性の内容が読めた。なにか工夫が必要なようだ。