【问题标题】:JQuery .find() not working?JQuery .find() 不工作?
【发布时间】:2012-08-07 16:44:26
【问题描述】:

我正在通过 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") 时,返回始终为空。有什么想法吗?

【问题讨论】:

    标签: jquery


    【解决方案1】:

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

    closest 搜索父母和自己可能会更好:

    jqData.closest('#startScript')
    

    【讨论】:

    • 谢谢,在编辑之前尝试了第一个 find() 并没有工作。最接近的函数可以解决问题!
    • @MeshMan:是的,我也注意到了 :)
    猜你喜欢
    • 2016-04-28
    • 1970-01-01
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    相关资源
    最近更新 更多