headã¿ã°ã«è¦ç´ ã追å ã§ããªãã
JavaScriptã§headã¿ã°ã®ä¸ã«scriptã¿ã°ã追å ãããã¨ããã®ã§ãããjQueryã使ãã¨ãªããä¸æããããªãã¿ããã§ãã
ãããªæãã§scriptè¦ç´ ãä½ã£ã¦
var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.setAttribute("src", "unko.js");
jQueryã®appendã¡ã½ããã§headã¿ã°ã«è¿½å ããã®ã§ããããªãã追å ããã¾ããã
$("head").append(script);ã// ãã¡
jQueryã使ããã«è¿½å ãããä¸æãããã¾ããã
document.getElementsByTagName("head")[0].appendChild(script); // ã§ãã
ãªãã§ã¼ï¼
å®é¨ããã½ã¼ã¹
<html> <head> </head> <body> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script> <script type="text/javascript"> $(function(){ // scriptãä½ã var make_script = function(url){ var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.setAttribute("src", url); return script; }; var plain_js = make_script("plain.js"); var jquery_js = make_script("jquery.js"); $("head").append(jquery_js); document.getElementsByTagName("head")[0].appendChild(plain_js); var headHTML = document.getElementsByTagName("head")[0].innerHTML; puts(headHTML); function puts(str){ var text = document.createTextNode(str); document.body.appendChild(text); var br = document.createElement("br"); document.body.appendChild(br); } }); </script> </body> </html>
追è¨
ä¸ã®ãã¼ã¸ãèªãã§è¬ãã¨ãã¾ããã
jQueryã®append,prepend,before,afterã¡ã½ããã«scriptã¿ã°ãå«ãã DOMè¦ç´ ãªãæååãªãã渡ããã¨ãã¯ãscript以å¤ã®é¨åã¯ã¡ããã¨è¿½å ããã¾ãããscriptã¿ã°ã®é¨åã¯è¿½å ãããã«ãã¹ã¯ãªããããã®å ´ã§å®è¡(eval)ããã¦ãã¾ãã®ã ããã§ãã
anything from here jQuery の挙動を解読する(32):jQuery.clean() メソッド解読──jQuery解読(49)
firebugã§è¦ã¦ãheadã¿ã°ã«å¤åã¯ãªããã©ãscriptã¯ã¡ããã¨å®è¡ããã¦ããããå¿é ããªãã¦ãããããã¨ãããã¨ã¿ããã§ããã»ãã¨ãã«ãããã¨ããããã¾ããã