我是 Javascript 的初学者,我觉得 $.get jQuery 有问题。
通常,您可以将其分配给将在正确检索数据后执行的函数。
但是,如果我将 $.get 放入循环中,即使尚未检索到数据,循环也会继续执行,这就是我的问题。
这是我的代码(这是给 GreaseMonkey 的):
var1 = document.getElementsByClassName("some_class");
i = 0;
while (i < var1.length) {
url = var1[i].getElementsByTagName("some_tag")[0].href;
$.get(url, function(data) {
if (data.contains("some_string")) {
alert(i);
}
});
i++;
}
此处,警报返回 var1.length 事件,如果它应该返回 1 为例。
我尝试在 url 声明之后放置一个 alert(i),我知道 i++ 是在我的 $.get 中的函数之前完成的。
这肯定是一个微不足道的问题,但我无法掌握不发生这种情况的逻辑。