所以我发送一个ajax请求,如下所示
$('a.new_thumb_update').click(function(e)
{
e.preventDefault();
share_id = $(this).attr('share_id');
$.post('http://studeez.net/resource_layout_files/includes/thumbs_up.php',
{share_id:share_id},
function(data)
{
alert(data);
$(this).parent().parent().find('div.thumbs_up').hide();
});
});
代码的功能与回调函数一样,我可以获得警报反馈。
$(this).parent().parent().find('div.thumbs_up').hide();
如果我用实际元素替换$(this),它就可以了。如下图所示
$('a.new_thumb_update').parent().parent().find('div.thumbs_up').hide();
答案 0 :(得分:5)
您需要在此处缓存$(this)
:
$('a.new_thumb_update').click(function (e) {
e.preventDefault();
var $self = $(this);
share_id = $self.attr('share_id');
$.post('http://studeez.net/resource_layout_files/includes/thumbs_up.php', {
share_id: share_id
}, function (data) {
alert(data);
$self.parent().parent().find('div.thumbs_up').hide();
});
});
在jQuery ajax $(this)
方法中无法访问$.post
。
答案 1 :(得分:0)
试试这个,
$('a.new_thumb_update').click(function(e){
e.preventDefault();
share_id = $(this).attr('share_id');
var self=this;// assign this to self and use it
$.post('http://studeez.net/resource_layout_files/includes/thumbs_up.php',
{share_id:share_id},
function(data){
alert(data);
$(self).parent().parent().find('div.thumbs_up').hide();// use self instead of this
});
});
答案 2 :(得分:0)
$('a.new_thumb_update').click(function(e)
{
e.preventDefault();
var _this=$(this);// set this in here
share_id = _this.attr('share_id');
$.post('http://studeez.net/resource_layout_files/includes/thumbs_up.php',
{share_id:share_id},
function(data)
{
alert(data);
_this.parent().parent().find('div.thumbs_up').hide();
});
});