атрибуты jquery из нескольких элементов - PullRequest
5 голосов
/ 30 ноября 2010

Я пытаюсь понять, как использовать jQuery для получения значения атрибута html для многих элементов. Моя веб-страница обновляется динамически с помощью ajax. У меня есть атрибут с именем номер для элемента в части, которая обновляется. Я хочу использовать значение атрибута из каждого элемента, чтобы я мог использовать эти данные в качестве параметров ссылки на файл php. Я сталкивался с функцией jatery .attr (), но она, кажется, принимает значение атрибута первого элемента, только если находит. Но я хочу получить значение атрибута для каждого элемента, чтобы при щелчке по этому элементу соответствующее значение атрибута отправлялось как параметр в файл php.

Спасибо

Ответы [ 3 ]

11 голосов
/ 30 ноября 2010

Вы можете комбинировать attr () с методом .each().

например.

$("div").each(function(){
     $(this).attr("number");
});
8 голосов
/ 30 ноября 2010

Отказ от ответственности: Скорее всего, это не отвечает на вопрос OP (после повторного чтения), но останется на некоторое время, если он удовлетворит некоторую потребность в OP .


Используйте метод .map()

var numbers = $('[number]').map(function(){
  return $(this).attr('number');
});

, это создаст массив, заполненный атрибутом number всех элементов, имеющих его.

3 голосов
/ 30 ноября 2010

Внутри обработчика click (или любого обработчика событий) this будет ссылаться на этот элемент, например:

$("#content").delegate("a", "click", function() {
  alert($(this).attr("something")); //alerts "something" for the <a> you clicked
});

В этом случае мы используем .delegate(), потому что вы сказали «Моя веб-страница обновляется динамически с помощью ajax», поэтому просто прикрепите обработчик к родительскому элементу, который не заменен на AJAX, и он будет работать для всех элементов, которые вы добавляете под ... в приведенном выше примере мы привязываемся ко всем <a> элементам, но просто изменим селектор соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...