【问题标题】:getting individual atrributes while selecting a class with JQuery在使用 JQuery 选择类时获取单个属性
【发布时间】:2012-03-06 11:28:55
【问题描述】:

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

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

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

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

有机会做我想做的事吗?

【问题讨论】:

    标签: javascript jquery jsp attr


    【解决方案1】:

    将此行更改为:

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

    【讨论】:

      【解决方案2】:

      当 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】:
        $('.select').click(function (){
           alert($(this).attr('alt'));
        });
        

        改变

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

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

        现在您选择按钮启动事件的属性。

        【讨论】:

        • 您可以通过指定应替换哪个 $('.select') 来使您的答案更清晰。
        【解决方案4】:

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

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

        当您单击一个按钮时,这将使每个按钮“显示”存储在其 alt 属性中的值。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-09-14
          • 2020-02-23
          • 2016-11-30
          • 2015-09-21
          • 2011-09-08
          • 1970-01-01
          • 2015-04-11
          相关资源
          最近更新 更多