Вызов функции для элементов набора

.each()

Выполняет заданную функцию для каждого из выбранных элементов в отдельности. Это дает возможность обрабатывать выбранные элементы отдельно друг от друга. Метод имеет один вариант использования:

.each(callback(index, domElement)):jQuery1.0

Выполняет функцию callback для каждого из выбранных элементов. В callback передаются 2 параметра: номер элемента в наборе (нумерация начинается с нуля) и сам элемент в виде объекта DOM.

В отличие от схожего метода .map(), который возвращает заново сформированный набор различных элементов и объектов, метод .each() возвращает исходный набор элементов.

В действии

Узнаем высоту всех div-элементов на странице:

var heights = [];  // переменная, которая будет хранить высоты элементов
 
$("div").each(function(indx, element){
  heights.push($(element).height());
});
 
// в итоге, в переменную heights будут помещены значения высот всех div-элементов

Нужно отметить, что переменная this, внутри функции callback, будет хранить то же самое значение, что и второй параметр domElement, который в нее передается. Таким образом, предыдущий пример мог выглядеть следующим образом:

var heights = [];  // переменная, которая будет хранить высоты элементов
 
$("div").each(function(indx){
  heights.push($(this).height());
});
 
// в итоге, в переменную heights будут помещены значения высот всех div-элементов

Ссылки

Поисковые ключи:
  • вызов функции для каждого элемента набора
  • выполнить функцию для каждого элемента набора
  • вызвать функцию для каждого элемента набора
  • обработка выбранных элементов
  • each()
  • .each()