2010-11-30 2 views
4

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

Благодаря

ответ

10

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

например.

$("div").each(function(){ 
    $(this).attr("number"); 
}); 
+0

+1! Но не забудьте использовать `;`! – jwueller 2010-11-30 11:16:34

+0

да, конечно. Обновлено спасибо. – 2010-11-30 11:17:14

3

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

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

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

+0

Это на самом деле гораздо ближе к потребностям ОП. +1! – jwueller 2010-11-30 11:18:12

8

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


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

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

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

Смежные вопросы