Javascript 为什么类会改变顺序?
Javascript 为什么类会改变顺序?,javascript,jquery,html,Javascript,Jquery,Html,$(“body”)。在(“单击”,“关闭”,函数()上){ var class_test1='class1 class2'; var class_test2='class1 class3'; $('id_test').removeClass(class_test1).addClass(class_test2); }); 测验 测验 原因如下: 有多个类与多次单击重叠。 让我解释一下: 第一次单击按钮时,类“class1”和“class2”将被删除。然后附加“class1”和“class3” 但
$(“body”)。在(“单击”,“关闭”,函数()上){
var class_test1='class1 class2';
var class_test2='class1 class3';
$('id_test').removeClass(class_test1).addClass(class_test2);
});代码>
测验
测验
原因如下:
有多个类与多次单击重叠。
让我解释一下:
第一次单击按钮时,类“class1”和“class2”将被删除。然后附加“class1”和“class3”
但是,如果再次单击该按钮,则只有“class1”被删除,从而使“class3”移动到第一个位置(因为不再有“class2”可删除)。然后在“class3”之后重新添加“class1”-结果是“class3 class1”
建议的解决办法:
$("body").on("click", ".close", function() {
var class_test2 = 'class1 class3';
$('#id_test').removeClass().addClass(class_test2);
});
这将删除所有类,然后按正确的顺序添加正确的类。试试看
$(".close").on("click", function() {
$('#id_test').removeClass("class2").addClass("class3");
});
您可以使用在一个className
字符串的末尾切换2
,3
$(“body”)。在(“单击”,“关闭”,函数()上){
var n=3;
$(“#id_test”).toggleClass(函数(){
返回“class2 class”+n;
})
});代码>
#id_test.class2{
颜色:绿色;
}
#id_测试类别3{
颜色:蓝色;
}
#id_测试。类别2:之后{
内容:attr(类);
}
#id_测试。类别3:之后{
内容:attr(类);
}
测验
测验
既然您只是在添加/删除class2
和class3
,为什么不只切换它们呢?因为必须完全按照我所写的那样做,但是div#id_test
可以有其他类,并且它会删除它们的对象假设这是一个问题,您可以使用此代码来立即将它们全部删除:$(“#id#u test”).removeClass('class1 class2 class3');它可以是$('#id_test')代码>@它正在下降是的。我的主要问题很糟糕。不幸的是,我在思考之前就写了,现在我不能删除这个问题。