第一次使用jQuery。我正在使用它将外部元素的内容加载到我的页面上。它加载很好,但我发现正常的遍历方法不适用于加载的元素。例如,我所拥有的是:
<div id="area"></div>
<script type="text/javascript">
$("#area").load("externalPage.html #externalElement > *");
$("#area").find("ul").first().css("display","none");
</script>
脚本的第二行似乎什么都不做。这是否与操作完成的顺序有关?
我正在将它加载到Blackboard LMS上的自定义HTML模块中,如果脚本过于复杂,有时会表现得很奇怪,所以这很可能是另一个时代。谢谢你帮我解决了!
答案 0 :(得分:1)
.load()
在完成后会收到回调。你可以在那里做你想要的新标记。
$("#area").load('foo.html', function () {
/* Now you have access to foo.html's markup */
});
答案 1 :(得分:0)
您需要将回调中的第二行放入.load()
:
$("#area").load("externalPage.html #externalElement > *", function() {
$("#area").find("ul").first().css("display","none");
});
$.get()
和$.fn.load()
之类的东西是基于jQuery $.ajax()
系统构建的便捷函数。加载内容的过程本质上是异步的。