如何使用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()); } }); });