DOMトラブル:getAttribute('class')

wrote2008.03.01

記述は間違いない(はずな)のに、ブラウザによって思うように動作しないことがある。
実際にどのようなことがあったのか、そしてどのようにすれば対処できたのかを紹介。


属性の値を取得・設定する手法として、「getAttribute」「setAttribute」があるが、class属性はうまく制御できない。

回避方法:className

例)要素ネームがtestの場合

test.getAttribute("class");
ではなく、
test.className
にする。

例)要素ネームtestのclass属性を「test」に設定(もしくは変更)する場合

test.setAttribute("class","test");
ではなく、
test.className = "test";
にする。