3

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 が返されます。何か案は?

4

1 に答える 1

9

findノード内を検索するため、トップノードを見つけるために実際に使用することはできません.

closest親と自己のどちらを検索するかで運が良くなる可能性があります。

jqData.closest('#startScript')
于 2012-08-10T11:27:55.990 に答える