启者
我已经在jQuery中将我的元素包装了一段时间(参见第3行 - $($ unitUsers [i])部分),这样我就可以调用更多的jQuery函数关于每个元素。
var $unitUsers = $('li.unit_user');
for(var i=0; i< $unitUsers.length; i++) {
var id_str = $($unitUsers[i]).attr('id');
但现在似乎必须有一个更清洁的方式。我是对的吗?
答案 0 :(得分:2)
嗯,很难说只显示了3行中的其他内容。但是如果你有一个与一组元素匹配的jquery对象的索引,那么结果就是本机元素。
也就是说,这可行
var id_str = $unitUsers[i].id;
如果您还有其他需要访问完整的jQuery API,并且您希望不要&#34;双重包装&#34;你可以使用.eq
var $unitUsers = $('li.unit_user');
for(var i=0; i< $unitUsers.length; i++) {
var id_str = $unitUsers.eq(i).attr('id');
答案 1 :(得分:1)
$('li.unit_user').each(function(){
alert($(this).attr('id'));
});
答案 2 :(得分:1)
您可以像这样使用each:
var $unitUsers = $('li.unit_user');
$unitUsers.each(function() {
var id_str = $(this).attr('id');
});