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使ったらこじんまり書けるかなぁと思ったんですが、残念。
コメント