【问题标题】:jQuery, get ID of each element in a class using .each?jQuery,使用 .each 获取类中每个元素的 ID?
【发布时间】:2011-03-29 23:41:55
【问题描述】:

我正在尝试获取class 中每个元素的id,但它会分别提醒类的每个名称,因此对于class="test",它会提醒:te、@ 987654326@,t... 任何有关如何获取 id 的每个元素的建议,这是class 的一部分,我似乎无法弄清楚这一点。谢谢。

$.each('test', function() { 
   alert(this)
});

【问题讨论】:

    标签: jquery element each


    【解决方案1】:

    试试这个,用类的实际名称替换.myClassName(但保留句号在开头)。

    $('.myClassName').each(function() {
        alert( this.id );
    });
    

    所以如果课程是“测试”,你会做$('.test').each(func...

    这是 .each() 的特定形式,它迭代一个 jQuery 对象。

    您使用的表单会迭代 任何 类型的集合。所以你本质上是在迭代一个字符数组t,e,s,t

    使用 that 形式的$.each(),您需要这样做:

    $.each($('.myClassName'), function() {
        alert( this.id );
    });
    

    ...这将与上面的示例具有相同的结果。

    【讨论】:

      【解决方案2】:

      patrick dw 的回答是对的。

      对于踢球和咯咯笑,我想我会发布一个简单的方法来返回所有 ID 的数组。

      var arrayOfIds = $.map($(".myClassName"), function(n, i){
        return n.id;
      });
      alert(arrayOfIds);
      

      【讨论】:

      • 如果需要数组,$.map() 确实非常好。尽管如果我可以表达我的个人偏见,我会做n.id 而不是为每次迭代创建一个新的jQuery 对象,因为它更有效。只是想我会提到它。 :o)
      • 你是对的帕特里克。不需要额外的 $()。我已经编辑过了。
      【解决方案3】:
       $(document).ready(function () {
              $('div').each(function () {
                  var id = $(this).attr('id');
                  console.log(id);
              });
          });
      

      【讨论】:

        猜你喜欢
        • 2017-04-09
        • 2013-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-01
        相关资源
        最近更新 更多