AJAX を介してファイルから HTML をロードし、余分なブロックを試して評価します (動的 HTML/JS ロード)。
AJAX 呼び出しは次のとおりです。
$.ajax({
URL: 'module.html',
タイプ: 'GET',
完全: 関数 (xhr, textStatus) {
//完了時に呼び出される
}、
成功: 関数 (データ、textStatus、xhr) {
var jqData = $(データ);
var scriptNode = jqData.find("#startScript");
if (scriptNode.length > 0)
{
$.globalEval(scriptNode.html());
}
....
読み込まれる HTML は次のとおりです。
<script type="text/javascript" id="startScript">
$("#submitButton").button();
</script>
AJAX 呼び出しで HTML が正常に読み込まれ、jqData 変数が 3 つのノードの配列を示していることがわかります ([0] はスクリプト ノードです)。しかし、jqData.find("#startScript") を呼び出すと、常に null が返されます。何か案は?