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"
,它会提醒:t
、e
、@ 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?的主要内容,如果未能解决你的问题,请参考以下文章