有没有办法在 jQuery 中“保存”一个变量?
我有一个 .each() 循环,它改变 sz[1] 的值并为每个值触发一个 .load() 。但是,当我将 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] 的每个可能值编写三个单独的 .load(),但应该有更简单的方法。我忽略了什么吗?