javascript - Jquery addClass() , removeClass() 函数不起作用

标签 javascript jquery html css ajax

$('.push').each(function(){
  if($(':first-child',this).hasClass( "activex" )){
    $(this).off().off('click').on('click',function(){
      var a = $(this).attr('id');
      $.ajax({
        type: "POST",
        url: "includes/rcart.php",
        data:{'pid': a},
        success: function(data){
          var a= parseInt($('.cart').text());
          if((data.indexOf("2")) >= 0){
            console.log(data);
            console.log('not removed'); 
          }else{
            a--;
            console.log('removed');
            $(this).children().removeClass('activex');
            $('.cart').text(a);
          }
        }
      });
      console.log(a); 
    });
  }else{
    $(this).on('click',function(){
      var a = $(this).attr('id');
      $.ajax({
        type: "POST",
        url: "includes/cart.php",
        data:{'pid': a},
        success: function(data){
          console.log(data);
          var a= parseInt($('.cart').text());
          if((data.indexOf("2")) >= 0){
            console.log('done'); 
          }else{
            a++;
            $('.cart').text(a);
            $(this).children().addClass('activex');
          }
        }
      });
      console.log(a); 
    });
  }
});

每当单击带有类 push 的按钮时,我都试图删除类 activex 但它不起作用并且代码中没有错误并且它没有删除类。如果我在 chrome 控制台中使用类 .push 手动删除类,它就可以工作。

每当单击带有类 push 的按钮时,我都试图删除类 activex 但它不起作用并且代码中没有错误并且它没有删除类。如果我在 chrome 控制台中使用类 .push 手动删除类,它就可以工作。

最佳答案

这是您更新后的代码,只是我从您的代码中删除了 children() 。 让我知道它是否有帮助。

$('.push').each(function(){


      if($(':first-child',this).hasClass( "activex" )){
          $(this).off().off('click').on('click',function(){
        var a = $(this).attr('id');
                $.ajax({

    type: "POST",
    url: "includes/rcart.php",
    data:{'pid': a},
    success: function(data){


     var a= parseInt($('.cart').text());

     if((data.indexOf("2")) >= 0){
          console.log(data);
         console.log('not removed'); 
     }
     else {
     a--;
     console.log('removed');
     $(this).removeClass('activex');
     $('.cart').text(a);
     }
    }

    });

        console.log(a); 
    });

      }

      else {

    $(this).on('click',function(){
        var a = $(this).attr('id');
                $.ajax({

    type: "POST",
    url: "includes/cart.php",
    data:{'pid': a},
    success: function(data){

    console.log(data);
     var a= parseInt($('.cart').text());

     if((data.indexOf("2")) >= 0){
         console.log('done'); 
     }
     else {
     a++;
     $('.cart').text(a);
     $(this).addClass('activex');
     }
    }

    });

        console.log(a); 
    });
      }

});

关于javascript - Jquery addClass() , removeClass() 函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48022568/

相关文章:

javascript - 无法根据 If 语句显示 Div

javascript - Angular 5 如何从 Assets 加载全局变量

javascript - 自动选择 html 选择标签的前一个和下一个选项

javascript - 删除Jquery字符串中的最后8个字符

javascript - 使用jquery替换html中的innercontent

javascript - 嵌入 YouTube Live Feed

jquery - 如何在单击时将两个不同的事件类添加到两个不同的选项卡(它在图像上的外观)

javascript - JQuery Coin slider 不显示图像

javascript - html2canvas 保存带有扩展名的 Canvas 图像

html - 如何将 DIV 元素向顶部移动一点