jQueryでDOM要素を生成するときに、第二引数でclass名つけるとIE6でエラーが出るって話

こんなことで何時間も悩んでたのでシェア。

jQueryでDOM要素作るの楽ですよね。

var dom = $('<div>', {id:hoge, class: fuga, text: piyo});

これで下記のようなHTMLが生成されます。

<div id="hoge" class="fuga">
piyo
</div>

でも、IE6だと第二引数でclassを指定するとエラーが出ます。
なので、面倒ですがclass名をつけたい場合は、addClassでつけてあげる必要があるようです。

var dom = $('<div>', {id:hoge, text: piyo});
dom.addClass('fuga');

元々、IE6ではDOM要素にclass属性を追加したい場合、

  • dom.setAttribute(‘className’, ‘hoge’)で指定する
  • dom.className = ‘hoge’で指定する

必要があるので、その辺の違いが原因かと。


この記事をブックマーク・シェアする

この記事に関連する記事

カテゴリ

コメント

コメントを残す

コメント*

コメントリンクを nofollow free に設定することも出来ます。

誤字・脱字やリンク切れなどお気づきの点がございましたら@loop0429までよろしくお願いします。

この記事の先頭へ