Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 为什么$(this).css在ajax成功中不起作用?_Jquery_Css_Ajax - Fatal编程技术网

Jquery 为什么$(this).css在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

我不知道$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,"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