J'utilise jQuery pour analyser un fichier XML et j'essaie de pousser chaque élément du fichier XML vers un tableau en utilisant une boucle jQuery .each. Bizarrement, si j'avertis la valeur du tableau dans la boucle, il sort comme il se doit, mais si j'essaie d'alerter une valeur dans le tableau après que la boucle soit terminée, cela se traduit par "indéfini".Pousser vers un tableau dans une boucle jQuery
Y a-t-il quelque chose d'étrange qui se produit lorsque vous placez des valeurs dans un tableau dans ce type de boucle?
Voici le Javascript:
var splashArray = new Array();
// Load the Splash XML file and assign each image within to an array
$.get('splash.xml', function(xml) {
$('image', xml).each(function (i) {
splashArray.push($(this).attr("src"));
});
});
alert(splashArray[1]); // Results in undefined
Voici le XML:
<?xml version="1.0" encoding="UTF-8"?>
<site>
<image src="splash1.jpg" />
<image src="splash2.jpg" />
<image src="splash3.jpg" />
<image src="splash4.jpg" />
<image src="splash5.jpg" />
<image src="splash6.png" />
</site>
Toujours résultats dans undefined ici .. – jakeisonline
Pour moi, il alerte splash2.jpg – Anatoliy
Oui, votre code récupérera correctement un tableau à l'intérieur du bloc $ .get, mais pourquoi ne le récupérera-t-il pas en dehors du $ .get bloc. Peut-être que je n'étais pas clair. Mon problème n'est pas de faire fonctionner alert(), il rend les valeurs de tableau récupérables pour le code plus tard. – cmal