可能重复:
Merging jQuery objects
a = $('div:eq(0)');
b = $('div:eq(1)');
c = $('div:eq(2)');
d = $('div:eq(3)');
e = $('div:eq(4)');
f = $('div:eq(5)');
console.log($([a,b,c,d,e,f]).find('a'))
我要做的是将多个jQuery对象添加到一个集合中。
我知道我可以使用.add()
一次添加一个,但我正在寻找一种方法将jQuery对象数组转换为单个jQuery集。
有没有办法做到这一点?
答案 0 :(得分:3)
在普通的jQuery中不可能,因为语法已经用于DOM元素。
但是一个简单的插件可以很好地完成这项工作:
a = $('div:eq(0)');
b = $('div:eq(1)');
c = $('div:eq(2)');
d = $('div:eq(3)');
e = $('div:eq(4)');
f = $('div:eq(5)');
jQuery.fromArray = function(a) {
var c = jQuery();
for(x in a) {
c = c.add(a[x]);
}
return c;
}
console.log($.fromArray([a,b,c,d,e,f]).find('a'))
答案 1 :(得分:1)
您的代码中缺少:
。把它写成 -
a = $('div:eq(0)');
使用jQuery.merge()
http://api.jquery.com/jQuery.merge/
或jQuery.map()
http://api.jquery.com/jQuery.map/