在jQuery中双重包装元素

时间:2015-05-07 23:33:10

标签: jquery

启者

我已经在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');

但现在似乎必须有一个更清洁的方式。我是对的吗?

3 个答案:

答案 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');
});