В этой снипете я расскажу о том, как выйти из цикла $.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>'); });
Источники
Послесловие
На этом все — вот так все просто.
Если у вас остались какие-либо вопросы — пишите их ниже к этой записи.