私は次のコードを持っています:
$(document).ready(function () {
$('div.env').each(function (index, item) {
var vm = $(item).text();
alert(vm);
var url = "http://localhost:56656/HTML" + vm + ".htm";
alert(url);
$.ajax(url, {
type: "GET",
dataType: "html",
success: function (data) {
alert("Colouring");
var style = $(data).filter('div').attr('style');
var styleObj = {};
$.each(style.split(';'), function () {
var rule = this.split(':');
styleObj[$.trim(rule[0])] = $.trim(rule[1]);
});
$(item).css('background', styleObj.background);
},
error: function () {
alert("Error");
$('div').css('background', '#f00');
}
});
});
問題は、Ajax関数が実行される前に、divクラス「env」内の値ごとにアラートが発生することです。
私が欲しいのは、各divについて、値を取得し、ajaxを実行し、次の次の値を取得することです。ajaxは最後に完全に実行されているようです。
助けてくれてありがとう。