2011-06-06 55 views
0

如下我想使阵列 这样如何multidimesional阵列以JavaScript

var ImageArray = [ 
      {image:"/image1.jpg"}, 
      {image:"/image1.jpg"}, 
      {image:"/image1.jpg"} 
      ] 

我想使上述从内含div图像阵列的结构使用jquery的每个功能。

,这样我可以像ImageArray[index].image

+0

你能提供关联的HTML吗? – 2011-06-06 14:37:29

回答

6
var ImageArray = []; 

$('div img').each(function(){ 
    ImageArray.push({image:this.src}); 
}); 

选择应当改变以适应所要作为容器使用的div这个div部分检索它..

0
var ImageArray = []; 
$('div.images').children('img').each(function() { 
    ImageArray.push({ image: this.src }) // or $(this).attr('src') 
}); 
1

你可以也可以使用jQuery.map()在单次调用中完成,无需声明单独的阵列,例如:

var ImageArray = $('div img').map(function(i,img) { 
    return {image:this.src}; 
}); 
+0

记得在最后使用.get()来检索原始数组,然后将其分配给一个变量。 – 2011-06-06 14:43:36

+0

@John Strickler,在这种情况下不需要使用'get()',因为map返回回调函数返回的对象数组。但这项任务是一个好主意,这使得意图更清晰一些。 – maerics 2011-06-06 14:47:27

+1

我认为这是一个包裹在jQuery对象中的数组?我可能是错的,但我相信.get()将返回实际的数组(“展开它”)。 – 2011-06-06 14:49:02