使用JavaScript从元素中删除CSS类(无jQuery)

这个问题在这里已经有了答案:

  • 使用JavaScript 30个答案更改元素的类

  • 正确和标准的方法是使用classList 。 它现在在最新版本的最新浏览器中得到广泛支持:

    ELEMENT.classList.remove("CLASS_NAME");
    

    文档:https://developer.mozilla.org/en/DOM/element.classList


    document.getElementById("MyID").className =
        document.getElementById("MyID").className.replace(/bMyClassb/,'');
    

    其中MyID是元素的ID,MyClass是您希望移除的类的名称。


    更新:为了支持包含破折号字符的类名,比如“My-Class”,请使用

    document.getElementById("MyID").className =
      document.getElementById("MyID").className
        .replace(new RegExp('(?:^|s)'+ 'My-Class' + '(?:s|$)'), ' ');
    

    以下是将此功能正确烧入所有DOM元素的方法:

    HTMLElement.prototype.removeClass = function(remove) {
        var newClassName = "";
        var i;
        var classes = this.className.split(" ");
        for(i = 0; i < classes.length; i++) {
            if(classes[i] !== remove) {
                newClassName += classes[i] + " ";
            }
        }
        this.className = newClassName;
    }
    
    链接地址: http://www.djcxy.com/p/25197.html

    上一篇: Remove CSS class from element with JavaScript (no jQuery)

    下一篇: Converting unix timestamp string to readable date