Вторник, 14.05.2024, 06:12
Меню сайта
Категории раздела
JQuery плагины [59]
JQuery уроки [69]
PHP полезное [24]
PHP уроки [21]
Css [26]
JS [3]
SQL [9]
Css 3 [17]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » JQuery уроки

jQuery.each()

Описание: Общая функция итератора, которая может быть использована для перебора как объектов так и массивов. Массивы и объекты массивов со свойством длины (например, в качестве аргументов функции объекта), перебираются все по числовому индексу, от 0 до длины минус 1. Другие объекты перебираются через их именные свойства.

jQuery.each( коллекция, обратныйВызов(индексВМассиве, значениеЭлемента) )

Добавлена в версию: 1.0
коллекция
Объект, Массив
Объект или массив для перебора.
обратныйВызов(индексВМассиве, значениеЭлемента)
Функция
Функция, которая будет выполняться на каждый объект.

Функция $.each() подобна .each(), которая используется для перебора, исключительно объектов jQuery. Функция $.each() может быть использована для перебора любой коллекции, будь то карта (объект JavaScript) или массив. В случае, если это массив, функция обратного вызова передает индекс массива и соответствующее значение массива каждый раз. (Значение также может быть полученно посредством ключевого слова this, но Javascript всегда обертывает значение this как Объект даже если это простая сторока или числовое значение.) Метод возвращает первый аргумент, объект, который соответствует текущему перебору.

$.each([52, 97], function(index, value) { 
 alert(index + ': ' + value); 
});

Результатом будет два сообщения:

0: 52
1: 97

Если используется карта, функция обратного вызова каждый раз передает пару ключ-значение:

var map = { 
 'flammable': 'inflammable', 
 'duh': 'no duh' 
}; 
$.each(map, function(key, value) { 
 alert(key + ': ' + value); 
});

Снова результатом будет два сообщения:

flammable: inflammable
duh: no duh

Мы можем остановить цикл $.each() на определенном переборе с помощью возврата через функцию обратного вызова false. Возврат любого значения, которое не false это тоже самое как выражение continue в цикле for; он сразу перейдет к следующему перебору.

Примеры

Пример 1

Обрабатывает каждый элемент массива показывая его номер (как числом так и словом).
 var arr = [ "one", "two", "three", "four", "five" ];
 var obj = { one:1, two:2, three:3, four:4, five:5 };
 jQuery.each(arr, function() {
 $("#" + this).text("My id is " + this + ".");
 return (this != "four"); // will stop running to skip "five"
 });
 jQuery.each(obj, function(i, val) {
 $("#" + i).append(document.createTextNode(" - " + val));
 });

Пример 2

Обрабатывает каждый элемент массива получая доступ как к текущему элементу, так и к его индексу.
$.each( [0,1,2], function(i, n){
 alert( "Item #" + i + ": " + n );
});

Пример 3

Обрабатывает каждое свойство объекта получая доступ как к текущему элементу, так и к его значению.
$.each( { name: "John", lang: "JS" }, function(i, n){
 alert( "Name: " + i + ", Value: " + n );
});
Категория: JQuery уроки | Добавил: ChronoW (16.04.2013)
Просмотров: 2490 | Теги: jQuery each(), each(), jQuery.each() | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: