jQuery,使用 .each 获取类中每个元素的 ID?

Posted

技术标签:

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

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

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

【问题讨论】:

【参考方案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);
        );
    );

【讨论】:

以上是关于jQuery,使用 .each 获取类中每个元素的 ID?的主要内容,如果未能解决你的问题,请参考以下文章

jquery each 怎么获取当前操作元素的索引

jquery中.map与each的区别?

如何从 JQuery each() 中获取元素列表

从 jQuery 集合中获取每个元素的属性值,放入数组中

如何在 jQuery 中对每个元素使用 find

解析JQuery中each方法的使用