Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.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
Javascript 添加类,然后单击删除和替换类_Javascript_Jquery - Fatal编程技术网

Javascript 添加类,然后单击删除和替换类

Javascript 添加类,然后单击删除和替换类,javascript,jquery,Javascript,Jquery,我有一个默认类。单击图标后,将删除默认类并替换为新类,然后再次单击图标后,将再次添加旧类,然后删除新类。每次单击图标时都应更改该图标。它接近.toggleClass(),但应显示/隐藏并替换该类 这是我的js代码 var MenuIcon = $('.menu-icon-plus'), MenuSidebar = $('.sidebar'); MenuIcon.click(function(){ if ($(MenuSidebar).hasClass('test')) {

我有一个默认类。单击图标后,将删除默认类并替换为新类,然后再次单击图标后,将再次添加旧类,然后删除新类。每次单击图标时都应更改该图标。它接近.toggleClass(),但应显示/隐藏并替换该类

这是我的js代码

var MenuIcon = $('.menu-icon-plus'),
    MenuSidebar = $('.sidebar');

  MenuIcon.click(function(){
    if ($(MenuSidebar).hasClass('test')) { //existing class
      $(MenuSidebar).removeClass('test');
    } else {
      $(MenuSidebar).addClass('test2'); // replacement of old class
    }

将这两个类添加到
toggleClass(“默认特殊”)
以交换它们:

$(“按钮”)。在(“单击”,函数(){
$(this.toggleClass(“默认特殊”);
});
.default{
背景:石灰;
字号:2em;
}
.特别的{
背景:金;
/*我没有字号*/
}


测试
试试这个。根据您的要求更换这些类

$(document).on('click', '.oldclass', function() {   

            $(this).removeClass('oldclass').addClass('newclass'); 
    });

    $(document).on('click', '.newclass', function() { 

            $(this).removeClass('newclass').addClass('oldclass');
    });

这是一个很好的理由开始做一些简单的事情,不要使用默认类,而是按原样设计默认类。而不是只切换特殊类。谢谢。代码是有效的。我只是不知道.toggleClass可以换成两个不同的类。@Ayiemiguel是的,很酷的功能在里面有点模糊,但它就在那里。