私はjQueryを使用してXMLファイルを解析していますが、XMLファイルの各要素をjQuery .eachループを使用して配列にプッシュしようとしています。不思議なことに、ループ内の配列の値を警告すれば、必要に応じて出力されますが、ループが終了した後に配列の値を警告しようとすると、結果は "未定義"になります。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
私には警告がありますsplash2.jpg – Anatoliy
はい、あなたのコードは$ .getブロック内の配列を正しく取得しますが、なぜ$ .getブロック。多分私ははっきりしていなかったでしょう。私の問題はalert()が機能しなくなったため、後のコードで配列の値を取得できるようにしています。 – cmal