在$ .ajax中使用$ this成功的功能

时间:2012-01-28 01:25:30

标签: jquery

当我在我的jQuery函数(下面的示例)中使用下面的行$(this)时,它运行得很好。

$(this).closest('.item').children('h3').children('a').text('UPDATED');

但是,在同一个函数中,我尝试在成功函数中移动它:$ .ajax的区域,它不再有效。我已经检查过成功功能是否有警报。

有没有办法在$ .ajax中保留$(this)的范围?

提前感谢任何建议。

问题区域:

success : function(msg){
$(this).closest('.item').children('h3').children('a').text('UPDATED');
},

3 个答案:

答案 0 :(得分:5)

是的,请使用上下文:

$.ajax({
    success: function () {
        $(this)...
    },
    context: this // or whatever this is
})

在页面下方查看context选项大约14%。

答案 1 :(得分:2)

您正在搜索错误的$(this)(在错误的上下文中)。做点什么

$(".button").click(function() {
   var $this = $(this);
   $.ajax({
        success: function() {
             // $this is $(this) you need
             $this.closest('.item').children('h3').children('a').text('UPDATED');
        }
   });

});

答案 2 :(得分:0)

您只需将$(this)分配给变量即可。

var $myThis = $(this);
// ajax stuff
success: function(msg){
   $myThis.closest('.item').children('h3').children('a').text('UPDATED');
}