7

是否可以运行 jQuery .each 语句一定次数,而不是针对每个被迭代的项目?被迭代的 JSON 是 last.fm 提要,当然,它们经常忽略“限制”请求。我想通过多次运行 .each 语句来绕过这个错误。

4

5 回答 5

19
var limit = 5;

$("somelement").each(function(i, val) {
      if(i > limit) return false;
      // do stuff
});

或者

$("somelement:lt(5)").each(function() {
      // do stuff
});
于 2010-01-21T19:32:57.737 回答
11

与其修改 .each,不如修改您的选择器以仅选择前“n”个元素。

http://docs.jquery.com/Selectors/lt#index

于 2010-01-21T19:33:59.630 回答
4

最好的解决方案是在 jQuery 中使用.slice方法。

var limit = 5;
$("somelement").slice(0, limit).each(function(i, val) {
    // do stuff
});
于 2013-04-26T11:08:17.637 回答
2

在循环之前定义一个变量,在每个循环中递增它,然后if(myvar == 10){return false;}

从每个函数中返回“false”完全停止循环 http://docs.jquery.com/Core/each

于 2010-01-21T19:35:21.077 回答
1

当您想停止时,退出false迭代器。迭代器的第一个参数是索引(循环遍历数组时)。

于 2010-01-21T19:33:03.783 回答