Jquery 为什么$(this).css在ajax成功中不起作用?
我不知道$this选择器在ajax成功与否,下面是代码:Jquery 为什么$(this).css在ajax成功中不起作用?,jquery,css,ajax,Jquery,Css,Ajax,我不知道$this选择器在ajax成功与否,下面是代码: $(".up_button").click(function(){ var idup_post=$(this).attr("data-idupactive"); var userup_post=$(this).attr("data-userupactive"); $.ajax({ url:"ajax/up_actv.php", data:{"idup":idup_post,"use
$(".up_button").click(function(){
var idup_post=$(this).attr("data-idupactive");
var userup_post=$(this).attr("data-userupactive");
$.ajax({
url:"ajax/up_actv.php",
data:{"idup":idup_post,"userup":userup_post},
type:"POST",
success:function(data){
if(data=="upactv"){
alert(data); //just to check if ajax response is correct
$(this).css({
"background-image":"url('icons/u.png')"
});
}
if(data=="updisv"){
alert(data); //just to check if ajax response is correct
$(this).css({
"background-image":"url('icons/uf.png')"
});
}
}
});
});
我需要更改所选按钮的背景,因此欢迎提供任何帮助,因为这将成功。。函数指向一个不同的对象,然后一个按钮通常指向该对象。
要成功访问按钮。。您可以事先保存其引用:
$(".up_button").click(function(){
var idup_post=$(this).attr("data-idupactive");
var userup_post=$(this).attr("data-userupactive");
var button = this;
:
:
success : function(data) {
:
$(button).css(..);
}
或者最好将按钮指定为ajax。。背景:
有关更多详细信息,请参阅jQuery Ajax的上下文部分。因为这是成功的。。函数指向一个不同的对象,然后一个按钮通常指向该对象。
要成功访问按钮。。您可以事先保存其引用:
$(".up_button").click(function(){
var idup_post=$(this).attr("data-idupactive");
var userup_post=$(this).attr("data-userupactive");
var button = this;
:
:
success : function(data) {
:
$(button).css(..);
}
或者最好将按钮指定为ajax。。背景:
有关更多详细信息,请参阅jQuery Ajax的上下文部分。这里指的是XHRajax请求对象 您可以使用call/apply更改引用,也可以将引用复制到变量中并使用该变量 检查此代码段
$(".up_button").click(function() {
var self = this;
var idup_post = $(this).attr("data-idupactive");
var userup_post = $(this).attr("data-userupactive");
$.ajax({
url: "ajax/up_actv.php",
data: {
"idup": idup_post,
"userup": userup_post
},
type: "POST",
success: function(data) {
if (data == "upactv") {
alert(data); //just to check if ajax response is correct
$(self).css({
"background-image": "url('icons/u.png')"
});
}
if (data == "updisv") {
alert(data); //just to check if ajax response is correct
$(self).css({
"background-image": "url('icons/uf.png')"
});
}
}
});
});
希望对您有所帮助这里指的是XHRajax请求对象 您可以使用call/apply更改引用,也可以将引用复制到变量中并使用该变量 检查此代码段
$(".up_button").click(function() {
var self = this;
var idup_post = $(this).attr("data-idupactive");
var userup_post = $(this).attr("data-userupactive");
$.ajax({
url: "ajax/up_actv.php",
data: {
"idup": idup_post,
"userup": userup_post
},
type: "POST",
success: function(data) {
if (data == "upactv") {
alert(data); //just to check if ajax response is correct
$(self).css({
"background-image": "url('icons/u.png')"
});
}
if (data == "updisv") {
alert(data); //just to check if ajax response is correct
$(self).css({
"background-image": "url('icons/uf.png')"
});
}
}
});
});
希望对您有所帮助。'this'现在表示ajax请求,您可以使用此代码
$(".up_button").click(function(){
var idup_post=$(this).attr("data-idupactive");
var userup_post=$(this).attr("data-userupactive");
var up_btn = $(this); // put the button object inside var
$.ajax({
url:"ajax/up_actv.php",
data:{"idup":idup_post,"userup":userup_post},
type:"POST",
success:function(data){
if(data=="upactv"){
alert(data);
up_btn.css({ // use the var insted of 'this'
"background-image":"url('icons/u.png')"
});
}
if(data=="updisv"){
alert(data);
up_btn.css({ // same thing
"background-image":"url('icons/uf.png')"
});
}
}
});
});
“this”现在表示可以使用此代码的ajax请求
$(".up_button").click(function(){
var idup_post=$(this).attr("data-idupactive");
var userup_post=$(this).attr("data-userupactive");
var up_btn = $(this); // put the button object inside var
$.ajax({
url:"ajax/up_actv.php",
data:{"idup":idup_post,"userup":userup_post},
type:"POST",
success:function(data){
if(data=="upactv"){
alert(data);
up_btn.css({ // use the var insted of 'this'
"background-image":"url('icons/u.png')"
});
}
if(data=="updisv"){
alert(data);
up_btn.css({ // same thing
"background-image":"url('icons/uf.png')"
});
}
}
});
});
这里指向窗口全局对象不,它实际上指向其他对象,但你是正确的,它不是OP所期望的。你是否考虑过添加一个类而不是调用对象上的图像?这里指向窗口全局对象不,它实际上指向其他对象,但是你是对的,这不是OP所期望的。你有没有想过添加一个类而不是调用对象上的图像?是的,很抱歉,这让你很惊讶,非常感谢。我现在明白了问题所在,问题是你正试图将css设置为this object…这里指的是window/global object。因此,只需将此引用复制到请求之外的变量,并在success函数中访问该变量,然后尝试将css应用到它。是的,很抱歉,这让chageYou感到惊讶,非常感谢你,亲爱的。我现在明白了问题所在,问题是您正试图将css设置为this对象…这里指的是窗口/全局对象。因此,只需将此引用复制到请求之外的变量,并在success函数中访问该变量,然后尝试对其应用css