Часто использую функцию jQuery API each(), но иногда требуется досрочно прервать выполнение этого цикла. Итак, как выйти из $.each()?
Обработка происходит внутри функции, и на выходе требуется сигнализировать API что делать дальше. Перебор элементов будет прекращен, если вы вернете false.
|
|
$('selector').each(function (index, item) { // какой то ваш код if ( ... ) { // и тут вы принимаете решение прервать // дальнейший перебор элементов, // возвращая false return false; } }) |
В документации это описано одной фразой:
Use return false to break out of each() loops early.
Видимо, поэтому её многие пропускают мимо :). В сети можно встретить такие экзотические советы, как использование try/catch, внутри которого прерывание организуется исключительной ситуацией с помощью throw.
Данная запись опубликована в 17.11.2018 15:33 и размещена в рубрике jQuery.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Октябрь 26, 2015 г.
Одна из типичных задач для улучшения пользовательского интерфейса на сайтах - это визуализация ожидания загрузки/обновления страницы. Наиболее частый случай ...
Читать
Сентябрь 1, 2013 г.
Fancybox - известный плагин jQuery для создания эффекта "просмотра в окошке". Давайте подключим его в 6-ю версию Drupal.
Ряд "деятелей" предлагают поставить для этой цели, кроме самой библиотеки, ещё два плагина - jquery_update и fancybox. Определенный ...
Читать
Декабрь 8, 2012 г.
Обычно, "проблема" возникает с данными, получаемыми через асинхронные запросы (ajax-запрос). Вы пытаетесь выполнить jQuery.find() для полученных данных, а функция возвращает пустой объект.
В примере ниже, мы пытаемся извлечь содержимое HTML контейнера ...
Читать
Октябрь 25, 2023 г.
Попался мне UI баг, когда autocomplete слой с результатами поиска оказывался больше по ширине, чем input элемент, к которому он был прикреплен.
Не ясен был алгоритм, по которому вычислялась ширина слоя. В одних случаях это происходило корректно, ...
Читать