我今天正在努力奋斗。
我需要将一个变量,甚至更好的对象传递给timeOut(例如):
$('.x').each(function()
{
setTimeout(function()
{
alert ($(this).attr('id'))
},10000);
});
显然会发生的事情是timeOut没有引用原始的$(this)
帮助?
答案 0 :(得分:5)
this
是上下文敏感的(在a_jQuery_object.each
中与window.setTimeout
不同,但它的引用可以复制到不受上下文敏感的其他变量。这是常规的为此目的使用that
。
$('.x').each(function() {
var that = this;
setTimeout(function() {
alert ($(that).attr('id'))
},10000);
});