3

我正在通过 AJAX 从文件中加载一些 HTML,尝试额外的一个块并对其进行评估(动态 HTML/JS 加载)。

AJAX 调用是:

$.ajax({
          网址:'module.html',
          类型:'GET',
          完成:函数(xhr,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") 时,返回始终为空。有任何想法吗?

4

1 回答 1

9

find节点内搜索,因此您不能真正使用它来查找顶部节点。

closest搜索父母和自己可能会有更好的运气:

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