我有一个带有 class 的 div abc
。有一个 jQuery 函数,它使用其类选择该 div 并发出 ajax 请求。现在,当成功返回 ajax 函数时,我已经更改了类,以便 ajax 方法不应该被再次调用,直到它的 div 类abc
。但是发生的情况是,即使在将 div 的类更新为xyz
相同的 ajax 函数之后也会再次调用。
success: function(data){
//updating the class here
$(self).addClass('xyz').removeClass('abc');
}
我可以在源代码中看到该类已更新,但仍然相同的属性选择器选择较早的类并再次运行 ajax 方法。还有其他方法可以做我想做的事情吗?请帮忙!提前致谢。
编辑:
$('.up_arrow').each(function() {
$(this).click(function(event) {
var resid = $(this).attr('name');
var post_data = {
'resid' : resid,
'<?php echo $this->security->get_csrf_token_name(); ?>' : '<?php echo $this->security->get_csrf_hash(); ?>'
};
var self = this;
if(resid){
$.ajax({
type: 'POST',
url: "/ci_theyaw/restaurants/plusrepo",
data: post_data,
success: function(data){
//console.log($(this).siblings('.rep_count').text());
$(self).addClass('up_arrowed').removeClass('up_arrow');
$(self).css('background-position','0 40px');
$(self).next('.rep_count').html(data);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
console.log(xhr.responseText);
alert(thrownError);
}
});
}
});
});
这是完成这项工作的完整功能。这里要更新的类是up_arrow
-> up_arrowed
,函数的选择器是up_arrow
. 但更新后它仍然执行。