ようこそゲストさん

無能日記

2011/01/10(月) なんで?

はてブ 2011/01/10 13:59 その他poti
safariの機能拡張をつくってて、
globalページで動的にjavascriptをロードしようとして、
以下のようにJQueryをつかってappendするとDOMに反映されない。
でも、リソースモニタを見る限りロードはしてるっぽい。
ブレイクポイントしかけても、ちゃんとセレクタは取れてる。
append出来ない理由がわからない。

var newScript = document.createElement("script");
var newScriptSelector = $(newScript);
newScriptSelector.attr("type", "text/javascript");
newScriptSelector.attr("src", "js/hoge.js");
newScriptSelector.attr("charset", "UTF-8");
$("#PatialDictionaries").append(newScriptSelector);


で追加部分だけJQueryを使わず以下のようにしてみると、ちゃんとDOMに反映される。
            
var newScript = document.createElement("script");
var newScriptSelector = $(newScript);
newScriptSelector.attr("type", "text/javascript");
newScriptSelector.attr("src", "js/hoge.js");
newScriptSelector.attr("charset", "UTF-8");
document.getElementById('PatialDictionaries').appendChild(newScript);


なんで?

ちなみに、injectedスクリプトの方は上のJQuery方式でちゃんとDOMに反映される。