получение отдельных атрибутов при выборе класса с помощью JQuery - PullRequest
0 голосов
/ 06 марта 2012

Я новичок в javascript и JQuery, и я работаю в небольшом проекте с JSP.

Я динамически создаю сетку с помощью JSP, и я добавил несколько кнопок с классом "select" и вАтрибут alt Я устанавливаю текущий индекс строки.Это отлично работает, я пытаюсь динамически установить onclick.Это мой код

$('.select').click(function (){
   alert($('.select').attr('alt'));
}

Я хочу, чтобы каждая кнопка показывала свой собственный индекс, но этот код показывает только первый индекс в каждой кнопке.Я искал, как это сделать, но ничего не выходит.

Есть ли шанс сделать то, что я хочу?

Ответы [ 4 ]

3 голосов
/ 06 марта 2012

Когда jQuery вызывает ваш обработчик событий, он устанавливает this в качестве рассматриваемого элемента DOM, поэтому попробуйте следующее:

$('.select').click(function (){
   alert($(this).attr('alt'));
});

Если вам нужен доступ к свойствам элемента DOM, вы можете получить их напрямую,Например:

alert( this.id );
this.value = "test";

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

$(this).hide();
$(this).css("color","red").slideDown();
3 голосов
/ 06 марта 2012

изменить эту строку на:

alert($(this).attr('alt'));
2 голосов
/ 06 марта 2012
$('.select').click(function (){
   alert($(this).attr('alt'));
});

Изменение

alert($('.select').attr('alt')); 

по

alert($(this).attr('alt')); 

Теперь вы выбираете атрибут кнопки для запуска события.

0 голосов
/ 06 марта 2012

Не уверен, что это то, что вы ищете, но ...

$('.select').click(function() {
    $('.select').each(function() { 
        $(this).attr('value', $(this).attr('alt'));
    });
});

При нажатии одной кнопки каждая кнопка «показывает» значение, сохраненное в их атрибуте alt.

Кстати, если вы используете 1 кнопку на строку, вам, вероятно, лучше пойти с index () .

...