是否可以改进此Jquery代码?

时间:2011-07-11 02:29:26

标签: jquery

我目前正在这样做:

var currFilterList = "";
$('.prod-filters input[type=checkbox]:checked').each(function() { 
currFilterList += $(this).attr('data-groupid')+',';
});

我认为这样做会很酷:

var currFilterList = $(blahblah).each(function() { return += value; }

我想要做的另一件事是将一个项添加到JQUERY对象数组中(最初需要为null,我尝试合并,但不能正常工作,因为它不是JQUERY对象的数组,是否存在这样做的方法?

var myArrayOfJqueryObjects = [];
foreach(blah) {
$('.myItem').ADDTO(myArrayOfJqueryObjects );
}

非常感谢任何回复:)!!!

3 个答案:

答案 0 :(得分:3)

你可以写

var arr = $('.prod-filters input:checkbox:checked').map(function() { 
    return $(this).attr('data-groupid'); 
}).get();

var str = arr.join(',');

答案 1 :(得分:1)

不确定这会有效,但值得一试:

var currFilterList = $('.prod-filters input[type=checkbox]:checked').map($(this).attr('data-groupid')).join(',');

答案 2 :(得分:0)

这可能会被视为改进......

var currFilterList = [];
$('.prod-filters input:checkbox:checked').each(function() { 
   currFilterList.push($(this).data('group-id'));
});

currFilterList = currFilterList.join(',');

虽然代码会产生不同的输出,但我认为你不想要尾随,