2011年2月24日木曜日

jQueryで動的に CSSファイルを追加する方法

他の要素と同じようにappend()とかappendTo()しても、CSSファイル(link要素)の追加ができない。(IE8のみで確認。)

でも下記で紹介されているやり方ならなぜかできた!

How-To: Load Javascript and CSS dynamically with jQuery | TopSecretProject
$("head").append("<link>");
css = $("head").children(":last");
css.attr({
    rel: "stylesheet",
    type: "text/css",
    href: "/javascripts/jwysiwyg/jquery.wysiwyg.css"
});

append()の後、メソッドチェーンしないでchidleren(":last")で取得するのがポイントらしい。
メソッドチェーンでappend(..).attr(..)ってやるとうまくいかない。
なぜかは分からないが。link要素だけ特別なのか?

ちなみにchildren(..).attr(..)の方はメソッドチェーンしてもOK。

0 件のコメント:

ブログ アーカイブ

カテゴリー