jQuery - parent()在回调函数中不起作用
问题描述:
我正在用parent()和nearest()函数进行测试,没有在函数内工作。jQuery - parent()在回调函数中不起作用
TD保持使用这种方法相同,没有变化:
$.get('form.php', function(data){
alert(data);
$(this).closest('td').html('Done!');
});
TD得到更新,这种方法可行:
$.get('form.php', function(data){
alert(data);
});
$(this).closest('td').html('Done!');
能否请你帮我找出为什么closest('td')
在回调函数中不工作?
答
您的this
里面的回调函数有另一个范围比this
在外面。你需要做这样的事情:
var self = this;
$.get('form.php', function(data) {
alert(data);
$(self).closest('td').html('Done!');
});
您可以使用jQuery的.proxy()
-function达到预期的效果,太像帕特里克DW在他的帖子中指出。我建议通过this document阅读。
答
您可以使用jQuery's $.proxy
method作为$.get()
的第二个参数以保留期望值this
。
$.get('form.php', $.proxy(function(data) {
alert(data);
$(this).closest('td').html('Done!');
}, this));
这很快,它的工作!我并不知道'this'在$ .get中的作用是不同的,这是另一个需要学习的课程。谢谢你们俩! – 2010-09-13 16:35:18
'这个'在不同的功能中有不同的作用。 JavaScript具有功能范围。 'this'指向当前的上下文/范围。 – jwueller 2010-09-13 16:40:18