Quiero hacer una matriz como esta

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

Quiero hacer la estructura de matriz anterior a partir de imágenes que contienen div usando cada función de jquery.

Para que pueda recuperarla como ImageArray[index].image

0
Kammy 6 jun. 2011 a las 18:33

3 respuestas

La mejor respuesta
var ImageArray = [];

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

Esta parte div del selector debe modificarse para que coincida con el div que desea usar como contenedor.

6
Gabriele Petrioli 6 jun. 2011 a las 14:38
var ImageArray = [];
$('div.images').children('img').each( function() {
  ImageArray.push({ image: this.src }) // or $(this).attr('src')
} );
0
Z. Zlatev 6 jun. 2011 a las 14:41

También puede usar jQuery.map() para hacerlo en una sola llamada, sin tener que declarar una matriz separada, por ejemplo:

var ImageArray = $('div img').map(function(i,img) {
  return {image:this.src};
});
1
maerics 6 jun. 2011 a las 14:46