封装: addClass()-removeClass()

    // -> hasClass: 验证当前元素中是否包含className这个样式类名
    function hasClass(curEle, className) {
        var reg = new RegExp("(^| +)" + className + "( +|$)");
        return reg.test(curEle.className);
    }

    // -> addClass: 给元素增加样式类型
    function addClass(curEle, className) {
        var ary = className.split(/\s+/g);

        // -> 循环数组,一项一项的验证
        for (var i = 0, len = ary.length; i < len; i++) {
            var curName = ary[i];
            if (!hasClass(curEle, curName)) {
                curEle.className += ' ' + curName;
            }
        }
    }

    // -> removeClass: 给元素移除样式类型
    function removeClass(curEle, className) {
        var ary = className.split(/\s+/g);
        for (var i = 0, len = ary.length; i < len; i++) {
            var curName = ary[i];
            if (hasClass(curEle, curName)) {
                var reg = new RegExp("(^| +)" + curName + "( +|$)", "g");
                curEle.className = curEle.className.replace(reg, ' ');
            }
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容