我是javascript和JQuery的新手,我正在使用JSP开展一个小项目。
我使用JSP动态创建一个网格,我添加了一些类为“select”的按钮,在alt属性中我设置了当前行索引。这很完美,我正在尝试动态设置onclick。这是我的代码
$('.select').click(function (){
alert($('.select').attr('alt'));
}
我希望每个按钮显示自己的索引,但该代码只显示每个按钮中的第一个索引。我已经搜索了如何做到这一点,但没有任何结果。
有机会做我想做的事吗?
答案 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()。