Ich benutze jQuery, um eine XML-Datei zu analysieren, und ich versuche, jedes Element in der XML-Datei zu einem Array mit einer jQuery .EACH-Schleife. Seltsamerweise, wenn ich den Wert des Arrays innerhalb der Schleife alarmiere, kommt es so heraus, wie es sollte, aber wenn ich versuche, einen Wert im Array zu alarmieren, nachdem die Schleife beendet ist, ergibt es "undefiniert".Pushing zu einem Array innerhalb einer jQuery jede Schleife
Gibt es etwas Seltsames, das passiert, wenn Sie innerhalb einer solchen Schleife Werte an ein Array senden? Hier
ist 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
Hier ist der XML ist:
<?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>
Noch Ergebnisse in undefined hier .. – jakeisonline
Für mich warnt es splash2.jpg – Anatoliy
Ja, Ihr Code wird korrekt ein Array innerhalb der $ .get Block abrufen, aber warum wird es nicht außerhalb der $ .get abrufen Block. Vielleicht war ich nicht klar. Mein Problem ist nicht das Alert() zu funktionieren, es macht die Array-Werte für späteren Code abrufbar. – cmal