dynamically add/remove style in javascript

后端 未结 3 919
执笔经年
执笔经年 2020-12-21 07:08

Is there a way in any browser to add/remove class names? For example, if I have a div with class names and I just want to remove/add \'name2\' is there a way to do that?

3条回答
  •  猫巷女王i
    2020-12-21 07:18

    If you can use jQuery:

    to remove:

    $('#div1').removeClass('name2')

    to add:

    $('#div1').addClass('name2')

    If you can't use jQuery, I found this url

    http://snipplr.com/view/3561/addclass-removeclass-hasclass/

    function hasClass(ele,cls) {
        return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
    }
    
    function addClass(ele,cls) {
        if (!this.hasClass(ele,cls)) ele.className += " "+cls;
    }
    
    function removeClass(ele,cls) {
        if (hasClass(ele,cls)) {
            var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
            ele.className=ele.className.replace(reg,' ');
        }
    }
    

    Honestly, I haven't used the non-jquery approach but it seems enough

提交回复
热议问题