我正在通过AJAX从文件中加载一些HTML,尝试额外的一个块并对其进行评估(动态HTML / JS加载)。
AJAX呼叫是:
$.ajax({ url: 'module.html', type: 'GET', complete: function(xhr, textStatus) { //called when complete }, success: function(data, textStatus, xhr) { var jqData = $(data); var scriptNode = jqData.find("#startScript"); if (scriptNode.length > 0) { $.globalEval(scriptNode.html()); } ....
正在加载的HTML是:
<script type="text/javascript" id="startScript">
$("#submitButton").button();
</script>
我可以看到HTML在AJAX调用中成功加载,而jqData变量显示了一个包含3个节点的数组([0]是脚本节点)。但是当我调用jqData.find(“#startScript”)时,返回始终为null。有什么想法吗?
答案 0 :(得分:8)
find
在节点内搜索,因此您无法真正使用它来查找顶级节点。
你可能会有更好的运气closest
搜索父母和自己:
jqData.closest('#startScript')