Поведение выбора jQuery для массивов элементов DOM - PullRequest
1 голос
/ 01 ноября 2010

Предполагая, что запрос таков.

var result = $(".ui-th-column");

Этот запрос в моем случае вернет массив объектов, поскольку существует число, соответствующее указанному селектору.

Если я тогда пойдучто-то вроде.

result.attr("myAttributeName") == "MyExpectedValue"

Я получаю результат.

У меня такой вопрос.На какой элемент действует jQuery?Очевидно, что в этом случае разные элементы dom имеют разные атрибуты, но он возвращает значение.Это просто возвращает значение первого элемента?

Как продолжение этого вопроса;при условии, что у меня теперь есть массив элементов, над которыми я хочу действовать, и при условии, что я хочу связать событие, такое как щелчок по ним всем.Нужно ли использовать каждую операцию или я могу просто пойти

result.click(function () {});

, и все мои элементы будут подключены?Я пытался найти это в Google, но не знал, какие условия использовать.

1 Ответ

4 голосов
/ 01 ноября 2010

Да, он получает только первый элемент в случае attr.

Описание: Получить значение атрибута для первого элемента в наборе соответствующих элементов.

От: http://api.jquery.com/attr/

Нет, вам не нужно вызывать each для метода click для привязки обработчиков событий, он прикрепит обработчик ко всем элементам в наборе.

Взгляните на метод bind.

Описание: прикрепить обработчик к событию для элементов.

Метод click является сокращением ...

Библиотека jQuery предоставляет ярлыки для привязки стандартных типов событий, таких как .click() для .bind('click').

...