Estoy usando jQuery para analizar un archivo XML, y estoy tratando de empujar cada elemento en el archivo XML a una matriz usando un jQuery .each loop. Extrañamente, si alerté sobre el valor de la matriz dentro del bucle, sale como debería, pero si intento alertar a un valor en la matriz una vez que ha finalizado, se obtiene "indefinido".Empujando a una matriz dentro de un jQuery cada bucle
¿Hay algo extraño que sucede cuando se introducen valores en una matriz dentro de este tipo de bucle?
Aquí está el 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
Aquí es el 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>
Todavía resultados en undefined aquí .. – jakeisonline
Para mí alerta splash2.jpg – Anatoliy
Sí, su código recuperará correctamente una matriz dentro del bloque $ .get, pero ¿por qué no lo recuperará fuera de $ .get bloquear. Quizás no estaba claro. Mi problema no es conseguir que la alerta() funcione, sino que hace que los valores de la matriz sean recuperables para el código posterior. – cmal