在使用JQuery选择类时获取单个属性

时间:2012-03-06 11:28:55

标签: javascript jquery jsp attr

我是javascript和JQuery的新手,我正在使用JSP开展一个小项目。

我使用JSP动态创建一个网格,我添加了一些类为“select”的按钮,在alt属性中我设置了当前行索引。这很完美,我正在尝试动态设置onclick。这是我的代码

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

我希望每个按钮显示自己的索引,但该代码只显示每个按钮中的第一个索引。我已经搜索了如何做到这一点,但没有任何结果。

有机会做我想做的事吗?

4 个答案:

答案 0 :(得分:3)

将此行更改为:

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

答案 1 :(得分:3)

当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();

答案 2 :(得分:2)

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

更改

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

通过

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

现在你选择按钮的attr alt来发生事件。

答案 3 :(得分:0)

不确定这是否是您要找的......但

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

单击一个按钮时,每个按钮都会显示存储在alt属性中的值。

顺便说一句,如果你每行使用1个按钮,你可能最好选择index()