2011-06-06 52 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