Как выйти из цикла $.each в jQuery?

· jQuery и Снипеты · 1 мин чтения

В этой снипете я расскажу о том, как выйти из цикла $.each, так как он отличается от while и for.

Для выхода из цикла может использоваться return false;, а для продолжения return true;.

return false; прекратит цикл, как например break, когда return true сделает имитацию continue (пропустит текущую итерацию и продолжит следующую). Чтобы подробнее понять о чем идет речь, посмотрите на демо ниже.

Демо

dark

Желтый квадрат

Желтый квадрат — это место откуда будет браться информация с помощью jQuery. Красный и синий квадрат будут описаны ниже.

Красный квадрат

Красный квадрат работает с помощь вот этого куска кода:

$('ul').find('li').each(function(i) {
  if (i > 1)
    return false;

  $('.return-false').append('<p>' + $(this).text() + '</p>');
});

Берется ul элемент, далее каждый li элемент просчитается условием i (первая строка) и если это первый элемент как в условие if (вторая строка), то цикл остановится на нем. В примере так и случилось. На самом деле первый элемент — это второй, так как отсчет начинается с нуля.

Синий квадрат

Тоже самое делается с синим квадратом (смотреть код ниже). Единственное, что здесь меняется, так как пропускается первый li элемент и все остальные будут показаны в синем квадрате.

$('ul').find('li').each(function(i) {
  if (i == 0)
    return true;

  $('.return-true').append('<p>' + $(this).text() + '</p>');
});

Источники

Послесловие

На этом все — вот так все просто.

Если у вас остались какие-либо вопросы — пишите их ниже к этой записи.