読者です 読者をやめる 読者になる 読者になる

IEでのclass属性設定

スポンサーリンク

2006/02/11 追記(コメントより)
そもそも、DOMで操作しようとせずに、下記のように書けば、クロスブラウザを意識する必要無しでした。(知識不足でした…)

elm.className='hoge';
                                                      • -

JavaScriptでDOM操作するようなプログラムを書いていて、elementに対してclass属性を設定したところ、FireFoxではちゃんと設定されるのに、IEでは設定されない…
ソースはこんな感じです。

var elm = document.createElement('span');
elm.setAttribute('class', 'hoge');
elm.appendChild(document.createTextNode("ほげほげ"));

ググッてみたところ、下記のような記事がヒット。

IEでのDOM操作でバグがあるっぽく、下記のように書かなければダメとのことです。

elm.setAttribute('className', 'hoge');

ブラウザ間の互換性を考慮した、DOM操作のライブラリ(JavaScript)は無いのかなぁ。prototype.js周りであってもよさそうな気がするので、時間が空いたら探してみよっと。

ちなみに、JavaScriptでDOM操作のプログラムを作る場合、イメージするHTMLを作ってみて、下記に通してDOM操作の参考にしています。

DOM操作はすぐに忘れてしまうので、大変重宝させていただいています。