有没有任何优雅的方式把[$(div),$(span),$(li)]转换为$(div,span,li)?
我需要的是一个jQuery包装的元素,而不是一个数组的jQuery元素。我想在尽可能少的代码行,并与最小(如果有)循环。
编辑:对于你困惑的这个问题,这个代码是复制和粘贴从firebug使用console.log在已经选择的元素数组。
解决方法
jQuery’s
map()
function是完美的重塑数组和/或jQuery集合。
所以,给定一个数组如下:
var arrayOfJQ_Objects = [$("div"),$("span"),$("li")];
这一行代码就是你需要的(See it in action at jsFiddle):
$(arrayOfJQ_Objects).map (function () {return this.toArray(); } );
导致此控制台显示在Firebug中:
jQuery(div,span,li)