jQuery-';这';选择器没有';不能在回调函数中工作
可能重复:jQuery-';这';选择器没有';不能在回调函数中工作,jquery,jquery-selectors,this,Jquery,Jquery Selectors,This,可能重复: 我正在jQuery中编写帖子删除代码,删除本身是通过对backeds的post请求进行的,在服务器返回200后,我想在客户端删除这篇帖子 $('.delete-post').click(function() { $.post($(this).attr('href'), {}, function(data) { $(this).closest('.post').remove(); }); return false; }); 但是,我注意到内部
我正在jQuery中编写帖子删除代码,删除本身是通过对backeds的post请求进行的,在服务器返回200后,我想在客户端删除这篇帖子
$('.delete-post').click(function() {
$.post($(this).attr('href'), {}, function(data) {
$(this).closest('.post').remove();
});
return false;
});
但是,我注意到内部函数(数据){…)选择器“this”不起作用。我需要用class.post删除最接近$('.delete post')
div的函数。如何处理此问题?谢谢!$(this)
存在于单击事件中,但函数(数据){
不是click事件的一部分,而是回调函数
。因此,将$(this)保存在某个变量中,例如that
,以供以后使用
试试这个:
$('.delete-post').click(function(e) {
e.preventDefault();
var that = $(this);
$.post(that.attr('href'), { }, function(data) {
// $(this).closest('.post').remove();
that.closest('.post').remove();
});
});
你应该解释一下为什么这个
在回调中有不同的值。我已经解释过谢谢你提醒我@jfriend00非常感谢,现在我知道了!简单明了)