Javascript 如何使用addClass()在元素';s类列表

Javascript 如何使用addClass()在元素';s类列表,javascript,jquery,addclass,Javascript,Jquery,Addclass,我的HTML中有一个div <button id="abc" class="btn btn-primary btn-block"></button> 这很好,它将类附加到类列表的末尾,如下所示 <button id="abc" class="btn btn-primary btn-block alert-danger"></button> 但问题是“btn”和“alert danger”类有一些共同的css规则btn'具有优

我的HTML中有一个div

    <button id="abc" class="btn btn-primary btn-block"></button>
这很好,它将类附加到类列表的末尾,如下所示

    <button id="abc" class="btn btn-primary btn-block alert-danger"></button>

但问题是“btn”和“alert danger”类有一些共同的css规则btn'具有优先级(因为它是列表中的第一个)并禁用“alert danger”规则。因此,我的按钮应该是这样的,类列表中的第一个类是“alert danger”

    <button id="abc" class="alert-danger btn btn-primary btn-block"></button> // My requirement 
//我的要求

如何修改my addClass(),以便预先结束类而不是追加类。

这是您的需求的替代方案

您可以标记
!重要信息
警报危险
类中的css属性,该属性将根据您的要求优先考虑css效果

检查此演示。

或者:

$(document).on("mouseover","#abc",function(){
$(this).removeClass("alert-danger");
$(this).attr("class","alert-danger "+$(this).attr("class"));})

选中。

您可以使用
$(this.removeClass())删除所有类
然后按特定顺序添加所有三个类
$(this).addClass(“警报危险btn btn主btn块”)!重要信息
,就我个人而言,我更喜欢CSS解决方案,而不是使用脚本来完成这些简单的事情。@SamyS.Rathore作为答案添加。感谢您的替代建议。。效果很好:)
$(document).on("mouseover","#abc",function(){
$(this).removeClass("alert-danger");
$(this).attr("class","alert-danger "+$(this).attr("class"));})