首页 > 技术文章 > 原生JS操作class 极致版

7qin 2019-05-22 01:45 原文

    // 获取class
    function getClass(el) {
        return el.getAttribute('class')
    }
    // 设置class
    function setClass(el, cls) {
        return el.setAttribute('class', cls)
    }
    
    // 当然彩蛋压轴戏肯定是在最后的啦
    // 判断class是否存在
    function hasClass(elements, cName) {
        return !!elements.className.match(new RegExp("(\\s|^)" + cName + "(\\s|$)"));
    }
    // 添加clss
    function addClass(elements, cName) {
        if (!hasClass(elements, cName)) {
            elements.className += " " + cName;
        }
    }
    // 删除class
    function removeClass(elements, cName) {
        if (hasClass(elements, cName)) {
            elements.className = elements.className.replace(new RegExp("(\\s|^)" + cName + "(\\s|$)"), " ");
        }
    }
    // 切换class
    function toggleClass(elements, cName) {
        if (hasClass(elements, cName)) {
            elements.className = elements.className.replace(new RegExp("(\\s|^)" + cName + "(\\s|$)"), "");
        } else {
            elements.className += " " + cName;
        }
    }

https://www.cnblogs.com/xiaobaiv/p/10072694.html

推荐阅读