JQuery. Каждый вопрос - PullRequest
       15

JQuery. Каждый вопрос

7 голосов
/ 21 января 2010

Можно ли выполнить оператор jQuery .each определенное количество раз, а не для каждого из элементов, которые повторяются? Повторяемый JSON - это лента last.fm, и, конечно, они часто игнорируют запрос «limit». Я хотел бы обойти эту ошибку, выполняя только оператор .each столько раз.

Ответы [ 5 ]

19 голосов
/ 21 января 2010
var limit = 5;

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

или

$("somelement:lt(5)").each(function() {
      // do stuff
});
11 голосов
/ 21 января 2010

Вместо того, чтобы изменять .each, измените ваш селектор, чтобы выбрать только первые 'n' элементов.

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

4 голосов
/ 26 апреля 2013

Лучшее решение - использовать метод .slice в jQuery.

var limit = 5;
$("somelement").slice(0, limit).each(function(i, val) {
    // do stuff
});
2 голосов
/ 21 января 2010

Определите переменную перед циклом, увеличьте ее внутри каждого и if(myvar == 10){return false;}

Возвращает «ложь» изнутри каждого функция полностью останавливает цикл http://docs.jquery.com/Core/each

1 голос
/ 21 января 2010

Возврат false из итератора , когда вы хотите остановить. Первый параметр вашего итератора - это индекс (при циклическом просмотре массивов).

...