2009-07-29 16 views
37

jQueryでスクリプトタグを作成します。それは動作しませんjQueryでスクリプトタグを作成することはできますか?

$("<body>").append("<script></script>"); 

私は、次のコードを使用します。 あなたはそれを達成するために何をしますか?

+0

私はちょうど興味があります:なぜあなたはそれをしますか?既にJavaScriptコードを実行しているので、別のブロックが必要なのはなぜですか? – Kobi

+7

http://stackoverflow.com/questions/610995/jquery-cant-append-script-element –

+4

ページを読み込んだ後、別のjavascriptファイルを読み込みたいとします。 – Billy

答えて

64

あなたはそう

var script=document.createElement('script'); 
script.type='text/javascript'; 
script.src=url; 

$("body").append(script); 
+2

私はこのコードをテストしています。おかげさまで – Billy

+1

あなたは大歓迎です。 –

+3

のように聞こえます。 – geowa4

10

エラーがセレクタにあるようにそれを行う必要があります:あなたは追加の文字列で許可されていない文字をエスケープする必要があり

$("body").append("<script>alert('hello world');<\/script>"); 

注意を。後に、ここで終わる

$("body").append($("<script />", { 
    html: code 
})) 
16

8年

$('<script>alert("hi");</' + 'script>').appendTo(body); 

$('<script></script>')ができない唯一の理由は、DOMレイヤーがjsとhtmlの内容を解析できないため、JavaScriptが文字列内で使用できないためです。

+3

javascriptが別のドメインにある別のjavascriptを読み込みたいのですが。 – Billy

+4

getScriptはまだ動作します... – James

+9

これは答えではなくコメントでなければなりません。少なくとも質問としてではなく答えとして書く必要があります。 'getScript()'がスクリプトタグの作成で可能なこと全てを行うことができるかどうかははっきりしていません。それが本当であれば、答えはもっと良いでしょう。 – hippietrail

0

これは助けることができる、:

$("body").append($("<script />", { 
    src: url 
})) 

は、既存のソースコードからロードするには:なぜあなたはURLからロードするには

関連する問題