Javascript 使用jQuery从一些CSS类更改为其他类。是否单击而不进行切换?

Javascript 使用jQuery从一些CSS类更改为其他类。是否单击而不进行切换?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,点击两个按钮,我想在两个状态之间切换,比如状态a和状态b 所以我有两个按钮: 和 我还得到了一些div:条,fx和表,并给出了一些初始类。假设有些类用于状态a,有些用于状态b 因此,当我单击btnA时,我希望div只获得表示状态a的类,因此当单击btnB时,使div只获得表示状态b的类 这里的问题是,我真的不想切换,不管有什么相似之处 我试过这个: $("#btnA").click(function() { $(this).removeClass("btn-default")

点击两个按钮,我想在两个状态之间切换,比如状态a和状态b

所以我有两个按钮:

我还得到了一些
div
fx
,并给出了一些初始类。假设有些类用于状态a,有些用于状态b

因此,当我单击
btnA
时,我希望div只获得表示状态a的类,因此当单击
btnB
时,使div只获得表示状态b的类

这里的问题是,我真的不想切换,不管有什么相似之处

我试过这个:

$("#btnA").click(function() {

    $(this).removeClass("btn-default")
    $(this).addClass("btn-success")

    $("#btnB").removeClass("btn-success")
    $("#btnB").addClass("btn-default")

    $("#table").remove()
    $("#bars").switchClass("barsdiferencias barslagrange")
    $("#fx").switchClass("fxdiferencias fxlagrange")
})

$("#btnB").click(function() {

    $(this).removeClass("btn-default")
    $(this).addClass("btn-success")

    $("#btnA").removeClass("btn-success")
    $("#btnA").addClass("btn-default")  


    $("#graficos").append('<div id="table" class="table"></div>')
    $("#bars").switchClass("barslagrange barsdiferencias")
    $("#fx").switchClass("fxlagrange fxdiferencias")        

}) 
$(“#btnA”)。单击(函数(){
$(此).removeClass(“btn默认值”)
$(此).addClass(“btn成功”)
$(“#btnB”).removeClass(“btn成功”)
$(“#btnB”).addClass(“btn默认值”)
$(“#表”).remove()
$(“#条”).switchClass(“barsdiferencias barslagrange”)
$(“#fx”).switchClass(“fxdiferenceias fxlagrange”)
})
$(“#btnB”)。单击(函数(){
$(此).removeClass(“btn默认值”)
$(此).addClass(“btn成功”)
$(“#btnA”).removeClass(“btn成功”)
$(“#btnA”).addClass(“btn默认值”)
$(“#graficos”)。附加(“”)
$(“#条”).switchClass(“barslagrange barsdiferencias”)
$(“#fx”).switchClass(“fxlagrange fxDiferenceIAS”)
}) 
我试过使用
switchClass
toggleClass
,但它们没有达到我的目的。我知道,删除不需要的类并在每个函数中添加适当的类会使它变得更好。 但是,有没有更高级、更短的代码解决方案呢?

试试这个

这只是将当前类替换为作为参数提供的新类。attr()方法可用于更改标记的任何属性

    $(this).attr("class","btn-success")

    $("#btnA").attr("class","btn-default")  
添加更多类

    $(this).attr("class","classA classB")

我不确定我是否完全明白这个问题。是这样的吗:你有没有考虑过只在所有这些元素的一个包含元素上放置一个“state”类,然后根据这个类对它们进行样式化?我是CSS新手,我可以为多个DOM元素定义类似的东西吗?当在多个元素之间进行更改时会发生什么?你的意思是添加更多的类吗?是的,没错,用于添加多个类以添加更多类。attr(“class”,“classA classB”)。。已将我的答案编辑为“是”,它将仅替换类属性