Необходимо применить какую-либо функцию к каждому элементу массива или объекта.

Опубликовал: Friday, June 14, 2024 в категории jQuery, Подборка рецептов | Пока нет комментариев

Решение

Для решения задачи воспользуемся вспомогательной функцией $.each(collection, callback(indexInArray, valueOfElement)). Не путайте ее с методом each(), который применяется для обхода набора элементов jQuery. Функция $.each(collection, callback(indexInArray, valueOfElement) позволяет совершать обход как массивов, так и объектов (листинг 10.1.1).

Листинг 1 0 .1 .1 . Использование вспомога те л ьной ф ун к ции $.each()

Обсуждение

Пять элементов div, каждый из которых имеет атрибут id, — вот вся HTMLразметка, показанная в листинге 10.1.1. Она послужит нам исключительно в демонстрационных целях.

Займемся рассмотрением JavaScript-кода. В самом начале объявляем массив arr и объект obj, обход которых попробуем совершить.

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

Попробуем совершить обход массива arr, передав его в качестве первого аргумента вспомогательной функции $.each(). Во втором аргументе передаем функцию, добавляющую в каждый элемент div текст со значением его идентификатора. Выражение, на основании которого выбирается нужный элемент div, состоит из знака # и указателя this, содержащего при каждой итерации значение очередного элемента массива.

Однако мы не будем совершать обход всего массива и прервемся сразу после того, как обнаружим в массиве значение ‘four’. Для того чтобы прервать итерации, функция, применяемая к каждому элементу массива, просто должна вернуть false.

Похожим образом обстоит дело и с обходом объекта obj. Передадим его в качестве первого аргумента вспомогательной функции $.each(), а во втором аргументе передаем функцию, которая добавит в каждый элемент div параграф, содержащий значение соответствующего свойства объекта obj.

Источник: Самков Г. А. jQuery. Сборник рецептов. — 2-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2011. — 416 с.: ил. + CD-ROM — (Профессиональное программирование)

Похожие посты:

Комментировать

Your email address will not be published. Required fields are marked *