如何使用javascript更改按钮的类?

时间:2015-07-05 06:12:47

标签: javascript css

我有这段代码:

class="fa fa-bold"
class="fa fa-arrow"

有人可以给我一些建议,而不是直接设置颜色,我可以设置按钮以启用第3类,然后将其设置为第3类禁用?

请注意,我的按钮目前有以下类:

class="fa fa-bold enabled"
class="fa fa-bold disabled"
class="fa fa-bold enabled"

所以我需要保持前两个类不变。然后我需要能够设置为:

unityTest

2 个答案:

答案 0 :(得分:4)

使用classList

要向图片添加新课程$('#addRow').on('click', function () { debugger; ctr++; var _beneficiaryname = "_beneficiaryname" + ctr; var _beneficiarytype = "_beneficiarytype" + ctr; var _beneficiarypercent = "_beneficiarypercent" + ctr; var _addbtn = "_addbtn" + ctr; var newTr = '<tr><td><input type="text" class="nr" id=' + _beneficiaryname + ' /></td><td><select class="form-control relationshiptype" id=' + _beneficiarytype + '>' + selectoption + '</select> </td><td><input type="text" id=' + _beneficiarypercent + ' /></td><td> <button type="submit" class="btn btn-primary add-beneficiary" id=' + _addbtn + ' >Add Beneficiary</button></td></tr>'; //<td><div class=ibox-tools><a class=dropdown-toggle data-toggle=dropdown href=#><i class=fa fa-wrench></i></a><ul class=dropdown-menu dropdown-user><li><a href=# onclick=AddBeneficiaryFunction()>Add</a></li></ul></div></td> $('#jsontable').append(newTr); }); ,请使用myClass

  

将一个类添加到元素的类列表中。如果类已存在于元素的类列表中,则不会再次添加该类。

add()

要删除课程,请使用image.classList.add('myClass')

  

以安全的方式从元素的类列表中删除类。不抛出错误如果该类不存在。

remove()

image.classList.remove('myClass') 课程,请使用toggle

  

如果名称存在于元素的classList中,则将删除该名称。如果name不存在,则会添加。

toggle()

要检查元素是否具有类,请使用image.classList.toggle('myClass') // If exists, remove, if not add

  

检查元素的类列表是否包含特定类。

contains()

<强> CSS

if (image.classList.contains('myClass')) {
    alert('HasClass myClass');
} else {
    alert('Dont have class');
}

答案 1 :(得分:1)

如果您没有使用像jQuery这样内置了className功能的库并且您希望浏览器支持旧浏览器,那么您可以使用自己的小函数在DOM对象中添加或删除类名扰乱了这样的其他类名:

function addClass(elem, cls) {
    if (!hasClass(elem, cls)) {
        var oldCls = elem.className;
        if (oldCls) {
            oldCls += " ";
        }
        elem.className = oldCls + cls;
    }
}

function removeClass(elem, cls) {
    var str = " " + elem.className + " ";
    elem.className = str.replace(" " + cls + " ", " ").replace(/^\s+|\s+$/g, "");
}

function hasClass(elem, cls) {
    var str = " " + elem.className + " ";
    var testCls = " " + cls + " ";
    return(str.indexOf(testCls) !== -1) ;
}

removeClass(image, "enabled");
addClass(image, "disabled");