我今天正在努力奋斗.
我需要将一个变量,甚至更好的对象传递给timeOut(例如):
$('.x').each(function()
{
setTimeout(function()
{
alert ($(this).attr('id'))
},10000);
});
Run Code Online (Sandbox Code Playgroud)
显然,会发生的事情是timeOut没有引用原始文件 $(this)
救命 ?
this是上下文敏感的(并且是不同的a_jQuery_object.each比在window.setTimeout,但它的参考可以被复制到一个不同的变量,是不是上下文敏感的,这是常规使用that用于此目的.
$('.x').each(function() {
var that = this;
setTimeout(function() {
alert ($(that).attr('id'))
},10000);
});
Run Code Online (Sandbox Code Playgroud)