正直、未だにこれで合っているのかもわからないし怪しい(嘘かも)内容を
blogに載せるのもどうかと思うけど載せちゃう(笑)

仕事でどーーしても、外部にあるJavaScriptファイルを読み込ませる必要があって
しかも「Ajaxなどでデータを取得し、DOM要素操作中に入れてやる」っていう
なんともよくわからない状態でのお話です。




当然、最初はどうしたらいいのかわからなかったのでググりまくった結果
どうやら普通に記述するだけだとFireBugたんには怒られてしまうことがわかったので
エレメントを作ってからappendしてやる方向にしてみた。

var hoge = $('#hoge_div');
$(’<script src="http://exsample.com/js/hoge.js?id=test1234" type="text/javascript"> </script>')
.appendTo(hoge);

まぁそもそも上記の書き方はどうかというのは置いておいて・・・
imgタグとかもこれだと一部ブラウザではダメなのでわかってはいたけど
面倒だから一応試してみようかなって感じで、やってみたけどダメポ/(^o^)\
で、仕方ないから綺麗に1個ずつエレメント作成してみた。

// script要素作成
var hoge = $('.HogeClass div:first', data);
hoge.attr({"id": "hogehoge_"+this.HogeData.id+"_1"});

var script_tag = document.createElement("script");
script_tag.type    = "text/javascript";
script_tag.charset = "utf-8";
script_tag.src = 'http://exsample.com/js/hoge.js?id=' + this.HogeData.id + '_1';

// 作成したscriptタグ要素を追加
$(script_tag).appendTo(hoge);


一応、これで外部のjsファイルを読み込んで引数渡して特定のdivにデータを入れてやることが出来た!

hoge.attr()してるあたりは、idふってやらないと 読み込んだ先のjsがデータを表示出来ないだけで
わざわざblog用に書き換えるのがめんどかっただけなので、あまり気にしなくていいぽ。
読み出し先のjs内でdocument.write()しちゃうとなんかエラー出すみたい。
外部jsからwriteメソッドは別ドメインに対して使えないのかな・・?
原因は不明・・・調べてない/(^o^)\

ポイントは、エレメント作ってそのエレメントをdiv(どの要素でもいいけど)に
append(To)でくっつけて要素追加してやるだけ。
たいしてすごいことやってないけど、これでOKぽい。
あとの処理は読み込むjsファイル内の記述になるので、そちらにお任せ☆

参考にしたurlはたくさんあるけど、ぶっちゃけ残してないorz
はてブをもっと使いこなさないとなー。