Javascript 在数组中的不同位置添加div的子级

Javascript 在数组中的不同位置添加div的子级,javascript,jquery,arrays,Javascript,Jquery,Arrays,我需要添加一个父div的孩子的数组道具,如下所示: <div> <img id="1"> <img id="2"> <img id="3"> <img id="4"> </div> 但不幸的是,控制台看起来像:a=[1,未定义,未定义,未定义],而a[0]=[img#1,img#2,img#3,img#4,prevObject:x.fn.x.init[1],context:a]。 我错在哪里 tags[i] = eleme

我需要添加一个父div的孩子的数组道具,如下所示:

<div>
<img id="1">
<img id="2">
<img id="3">
<img id="4">
</div>
但不幸的是,控制台看起来像:
a=[1,未定义,未定义,未定义]
,而
a[0]=[img#1,img#2,img#3,img#4,prevObject:x.fn.x.init[1],context:a]。

我错在哪里

tags[i] = element.children('div').children('img');
在这一行。如果该
元素.children('div').children('img')
返回一个数组,因为您在第一行检查它的长度,正确的方法应该是这样的
标记[i]=element.children('div').children('img')[i]

问题是:

tags[i] = element.children('div').children('img');
而不是:

tags[i] = element.children('div').children('img')[i];

在循环中初始化数组。 放

在for循环之外

编辑:完整的代码应如下所示:

lengthOfSmallImgs = element.children('div').children('img').length;
tags = [];
for (var i = 0; i < lengthOfSmallImgs; i++) {
    tags[i] = element.children('div').children('img')[i].id;
}
console.log(tags); // Outputs Array ["1", "2", "3", "4"]
lengthOfSmallImgs=element.children('div').children('img').length;
标签=[];
对于(变量i=0;i
$('div img')。每个(函数(){tags.push(this.id)})
tags = [];
lengthOfSmallImgs = element.children('div').children('img').length;
tags = [];
for (var i = 0; i < lengthOfSmallImgs; i++) {
    tags[i] = element.children('div').children('img')[i].id;
}
console.log(tags); // Outputs Array ["1", "2", "3", "4"]