如何使用jquery从页面数组加载 – 按顺序

我从一个页面抓取一堆链接,然后从这些页面中提取特定的内容元素。 我刚刚创建的代码可以正常工作。

问题是因为请求是异步的,元素没有按顺序加载。 我尝试添加延迟,但这不起作用。

我需要使用.ajax而不是.load吗? 如果是这样,这个循环追加与.ajax命令的相似之处是什么? 你还可以使用带url的选择器吗? 或者有没有一种有效的方法来实现.load?

提前致谢。

function runthis() { var links = $("#article-slide-belt a").map(function() { return this.href; }).get(); $.each( links, function(i, l){ $("
").load(l + " .gl_left", function() { $(".gl_left").append($(this).find(".gl_left").html()); }); }); }

也许这个: http : //plugins.jquery.com/project/ajaxqueue

您可以在完成第一个请求时指定要加载的下一个链接 – 下面的代码不是很优雅,但它会做您想要的

 var links var content_index=0; $(document).ready( function() { links = $("#article-slide-belt a").map( function() { return this.href; }).get(); loadContent() }) function loadContent() { if (content_index 

我尝试了同步.ajax路由。 而且它的顺序正确,但等待是无法忍受的。 在加载数据时需要是可读页面。

 $.each( links, function(i, l){ $.ajax({ url: l, async: false, success: function(data){ var $response=$(data); $(".gl_left").append($response.find(".gl_left").html()); } }); });