Mach3.laBlog

JS備忘録: jQueryでlink要素をappendしたかった

この記事は賞味期限切れです。(更新から1年が経過しています)

表題の通りにやってみようとしたところ、IEでうまく動作しなかったので備忘録。

一番はじめに書いたコードがこれ。
link要素を生成してheadに挿入するだけ。

var ele = $(document.createElement("link"));
ele.attr("rel","stylesheet");
ele.attr("type","text/css");
ele.attr("href","style.css");
ele.appendTo( $("head") );

IE以外はきちんとstyle.css内のスタイルが適用されます。
IEさんは、IEDocMon等で見る限りは挿入自体はできている様子。
が、スタイルは適用されない。

いろいろいじっているうちに、
jQueryのappend/appendToを使うと適用されない事がわかってきました。

ele.appendTo( $("head") ); //NG
$("head").append(ele); //NG
$("head").append(ele.get(0)); //NG
$("head").get(0).appendChild(ele.get(0)); //OK
document.getElementsByTagName("head")[0].appendChild( ele.get(0) ); //OK

そうなると前半部分も
わざわざ$()つかわずに普通に書いたほうがスッキリするわけで。
append使ったらこじんまり書けるかなぁと思ったんですが、残念。

コメント

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*