我正在使用jQuery來解析XML文件,並且我試圖使用jQuery .each循環將XML文件中的每個元素推送到一個數組。奇怪的是,如果我警告循環中數組的值,它應該出來,但如果在循環結束後嘗試提醒數組中的值,則會導致「未定義」。推送到jQuery每個循環內的數組
當你在這種類型的循環中將值推入數組時,會發生什麼奇怪的事情嗎?
這裏是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
這裏是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>
仍然在這裏未定義結果.. – jakeisonline 2009-09-27 20:07:59
對我來說它提醒splash2.jpg – Anatoliy 2009-09-27 20:12:17
是的,你的代碼將正確地檢索$ .get塊內的數組,但爲什麼它不會在$ .get之外檢索它塊。也許我不清楚。我的問題是沒有讓alert()工作,它使得數組值可以在後面的代碼中檢索。 – cmal 2009-09-27 20:14:12