DOMに於いて、要素ノードの指定された属性名の属性に、属性ノードで得られる値を設定するsetAttributeNode()メソッドの解説です。
setAttributeNode()メソッドとは、要素ノードに指定された属性名・属性値の属性を設定するメソッドです。
既に同名の属性があった場合には上書されます。
setAttribute()メソッドとの違いは、設定したい属性値をノードの形で与える事です。
特に、属性値に実体参照を含んでいる場合は、setAttribute()メソッドだと字面通りに解釈されてしまうため、実体参照ノードを含めた属性ノードを構築し、このsetAttributeNode()メソッドで与えるようにしなければなりません。
setAttributeNode()メソッドはElementインタフェイスに依って実装されます。
従って、要素ノードでのみsetAttributeNode()メソッドを得る事が出来ます。
setAttributeNode()メソッドは以下の二つの引数を取ります。
尚、多くのウェブブラウザ上で動作するJAVAスクリプトでは、第三引数として大文字小文字の区別をするか否かを指定しますが、在来のHTMLでは大文字小文字を区別しないため、特に問題はありません。
attr, Attr及びATTRはいずれも別物となります。setAttributeNode()メソッドの返し値は、特にありません。
インターネットエクスプローラでは、HTMLでのclass属性は className属性としております。
従って、
○○.setAttributeNode('class',△△)
とした場合、インターネットエクスプローラでは正常にclass属性を設定する事は出来ません。
このため、以下のようにする事でインターネットエクスプローラでも正常にclass属性を設定出来るようになります。
○○.setAttributeNode('class',△△);○○.setAttributeNode('className',△△);
Copyright ©平成21年-平成24年 さいたま・しらぎくさいと 版権所有
marguerite.site@gmail.com