要素ノードに指定された属性名・属性値の属性を設定するsetAttribute()メソッドの解説です。
setAttribute()メソッドとは、要素ノードに指定された属性名・属性値の属性を設定するメソッドです。
既に同名の属性があった場合には上書されます。
setAttribute()メソッドはElementインタフェイスに依って実装されます。
従って、要素ノードでのみsetAttribute()メソッドを得る事が出来ます。
setAttribute()メソッドは以下の二つの引数を取ります。
尚、多くのウェブブラウザ上で動作するJAVAスクリプトでは、第三引数として大文字小文字の区別をするか否かを指定しますが、在来のHTMLでは大文字小文字を区別しないため、特に問題はありません。
attr, Attr及びATTRはいずれも別物となります。setAttribute()メソッドの返し値は、特にありません。
新規に生成した<img>要素ノードにsrc属性とalt属性を与え、それをIDで指定された要素に追加している場面です。
var e=document.createElement('img');e.setAttribute('src', 'http://www.uso800.uso/images/HORIKITA_Maki.JPG');e.setAttribute('alt', '堀北真希ちゃん');if ((d=document.getElementById('SHOW'))!=null) {;d.appendChild(e);}
setAttribute()メソッドに属性値として与えられる文字列は実体参照を含まない通常の文字列です。
従って、例えば値として & と言う値を含めた場合、文字参照が評価されて & と言う文字に変換されるのではなく、生テキスト同様に評価され、字面通りに & と言う値にされる事に注意してください。
もし、実体参照を含めた属性値を意図通りに設定したいのであれば、通常のsetAttributeNode()メソッドを用いる必要があります。
インターネットエクスプローラでは、HTMLでのclass属性は className属性としております。
従って、
○○.setAttribute('class', '△△')
とした場合、インターネットエクスプローラでは正常にclass属性を設定する事は出来ません。
このため、以下のようにする事でインターネットエクスプローラでも正常にclass属性を設定出来るようになります。
○○.setAttribute('class', '△△');○○.setAttribute('className', '△△');
Copyright ©平成21年-平成24年 さいたま・しらぎくさいと 版権所有
marguerite.site@gmail.com