我是ajax的新手,这是我第一次使用jQuery' load()
方法。
下面的例子不起作用。 doSomething()
内的变量未定义(因为我猜的是异步调用)
var x = jQuery("#div1 a"); // x is used in different parts of the code, not only for the doSomething function
jQuery('.test').load(homeUrl, function() {
doSomething();
};
function doSomething () {
x.css('background-color', 'yellow');
}
所以,我这样做(这是重复的)并且有效:
function doSomething () {
var x = jQuery("#div1 a");
x.css('background-color', 'yellow');
}
但我想知道是否有更好的处理变量的方法,或者即使我做错了。
答案 0 :(得分:1)
您可以将x传递给doSomething函数,如下所示:
var x = jQuery("#div1 a");
jQuery('.test').load(homeUrl, function() {
doSomething(x);
};
function doSomething(x) {
x.css('background-color', 'yellow');
}