将数组项附加到自身

时间:2014-02-03 20:43:29

标签: javascript jquery arrays

我有:

HTML:

<div>
  <a class="1"></a>
  <a class="2"></a>
  <a class="3"></a>
  <a class="4"></a>
</div>

js:

item = $('div a');

这给了我一个'a'元素的数组。我想再次将这些元素添加到同一个数组中,所以我尝试了:

item.push(item);

但我最终得到的是:

[a]
[a]
[a]
[a]
[[a],[a],[a],[a]]

而不是

[a]
[a]
[a]
[a]
[a]
[a]
[a]
[a]

我可以做些什么来实现这个结果?

3 个答案:

答案 0 :(得分:3)

如果您要创建包含这些元素的数组,可以试试这个:

item = item.toArray();
item = item.concat(item);

或者这适用于数组 jQuery对象:

item.push.apply(item, item);

答案 1 :(得分:3)

你也可以试试这个:

编辑:忘记添加 working fiddle demo

item = $('div a');
$.merge(item,item);

答案 2 :(得分:1)

你需要一个接一个地去

var itemsA = $('div a');

for(var i = 0; i<itemsA.length; i++){
 items.push(itemsA[i]);
}

你正在做的是将$('div a')返回的所有元素推送到一个单独的项目位置。