jQuery récupère les attributs de source img De list et push dans array
j'ai cette liste de vignettes et je voudrais pousser les chemins d'image (sources) dans un tableau: 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>
21
demandé sur
FFish
2010-03-01 13:08:07
2 réponses
vous pouvez créer le tableau des attributs src plus directement en utilisant map()
:
var tn_array = $("#thumbnails img").map(function() {
return $(this).attr("src");
});
Edit: tn_array
est un objet ici plutôt qu'un tableau Javascript strict mais il agira comme un tableau. Par exemple, c'est le code légal:
for (int i=0; i<tn_array.length; i++) {
alert(tn_array[i]);
}
vous pouvez toutefois appeler get()
, ce qui en fera un tableau strict:
var tn_array = $("#thumbnails img").map(function() {
return $(this).attr("src");
}).get();
Comment faire la différence? Appel:
alert(obj.constructor.toString());
la première version sera:
function Object() { [native code] }
La deuxième:
function Array() { [native code] }
48
répondu
cletus
2015-03-10 21:12:05
Vous pouvez faire une boucle à travers les siècles img
élément:
var tn_array = Array();
$('#thumbnails img').each(function() {
tn_array.push($(this).attr('src'));
});
5
répondu
Felix Kling
2010-03-01 10:13:09