jQueryで変数を「保存」する方法はありますか?
sz [1]の値を変更し、値ごとに.load()を起動する.each()ループがあります。ただし、コールバック関数にsz [1]を配置すると、最後に記録されたsz [1]の値のみが使用され、最初に.load()を呼び出したときの値は使用されません。
$("#Big").find("a").each(function() {
url = $(this).attr("href");
pattern = new RegExp("sizes/([" + sizes + "])/$");
otherPattern = new RegExp("sizes/([" + otherSizes + "])/$");
sz = pattern.exec(url);
if(sz) {
normLink(sz[1], srcBase);
} else {
sz = otherPattern.exec(url);
if(sz) {
NotOkToDeLoad++;
$("a#" + sz[1]).load(URL + sz[1] + " div#psp", function() { fixLink(sz[1]); });
}
}
});
sz [1]は、「k」、「h」、または「o」にすることができます。ただし、fixLink()は常に、最後の可能な値「o」で3回呼び出されます。
私の現在の回避策は、sz [1]の可能な値ごとに3つの別々の.load()を記述することですが、もっと簡単な方法があるはずです。私は何かを見落としていますか?