在javascript中动态添加/删除样式

Rod*_*Rod 3 javascript

在任何浏览器中都有添加/删除类名的方法吗?例如,如果我有一个带有类名的div,我只想删除/添加'name2'有没有办法做到这一点?

谢谢,rodchar

Cla*_*edi 8

如果你可以使用jQuery:

去除:

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

加上:

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

如果你不能使用jQuery,我发现了这个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,' ');
    }
}
Run Code Online (Sandbox Code Playgroud)

老实说,我没有使用非jquery方法,但似乎已经足够了