objects array jquery arrays loops attributes push

objects - jQuery obtiene atributos de origen img de list y push in array



jquery map array of objects (2)

Tengo esta lista de miniaturas y me gustaría insertar las rutas de las imágenes (fuentes) en una matriz: tn_array

<ul id="thumbnails"> <li><img src="somepath/tn/004.jpg" alt="fourth caption" /></a></li> <li><img src="somepath/tn/005.jpg" alt="fifth caption" /></a></li> <li><img src="somepath/tn/006.jpg" alt="sixth caption" /></a></li> </ul>


Puede crear la matriz de atributos src más directamente usando map() :

var tn_array = $("#thumbnails img").map(function() { return $(this).attr("src"); });

Edición: tn_array es un objeto aquí en lugar de una matriz estricta de JavaScript, pero actuará como una matriz. Por ejemplo, este es un código legal:

for (int i=0; i<tn_array.length; i++) { alert(tn_array[i]); }

Sin embargo, puede llamar a get() , que lo convertirá en una matriz estricta:

var tn_array = $("#thumbnails img").map(function() { return $(this).attr("src"); }).get();

¿Cómo se nota la diferencia? Llamada:

alert(obj.constructor.toString());

La primera versión será:

function Object() { [native code] }

El segundo:

function Array() { [native code] }


Puede recorrer el elemento ever img :

var tn_array = Array(); $(''#thumbnails img'').each(function() { tn_array.push($(this).attr(''src'')); });