博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
原生JS实现hasClass,addClass,removeClass
阅读量:6670 次
发布时间:2019-06-25

本文共 1026 字,大约阅读时间需要 3 分钟。

function addClass(obj, cls){    var obj_class = obj.className,//获取 class 内容.    blank = (obj_class != '') ? ' ' : '';//判断获取到的 class 是否为空, 如果不为空在前面加个'空格'.    added = obj_class + blank + cls;//组合原来的 class 和需要添加的 class.    obj.className = added;//替换原来的 class.} function removeClass(obj, cls){    var obj_class = ' '+obj.className+' ';//获取 class 内容, 并在首尾各加一个空格. ex) 'abc        bcd' -> ' abc        bcd '    obj_class = obj_class.replace(/(\s+)/gi, ' '),//将多余的空字符替换成一个空格. ex) ' abc        bcd ' -> ' abc bcd '    removed = obj_class.replace(' '+cls+' ', ' ');//在原来的 class 替换掉首尾加了空格的 class. ex) ' abc bcd ' -> 'bcd '    removed = removed.replace(/(^\s+)|(\s+$)/g, '');//去掉首尾空格. ex) 'bcd ' -> 'bcd'    obj.className = removed;//替换原来的 class.} function hasClass(obj, cls){    var obj_class = obj.className,//获取 class 内容.    obj_class_lst = obj_class.split(/\s+/);//通过split空字符将cls转换成数组.    x = 0;    for(x in obj_class_lst) {        if(obj_class_lst[x] == cls) {//循环数组, 判断是否包含cls            return true;        }    }    return false;}

转载地址:http://lolxo.baihongyu.com/

你可能感兴趣的文章
Oracle IO问题解析(七)
查看>>
【HAVENT原创】k8s docker 管理 和 网页接口 监控系统
查看>>
1111111
查看>>
linux 学习前的准备 centos6的安装!
查看>>
Linux 下 IPsec-tools的使用
查看>>
ssh使用公钥授权不通过的问题解决
查看>>
iPad2 A5完美越狱获得重大进展--转载
查看>>
linux 调优 I/O 优化
查看>>
我的友情链接
查看>>
python内置函数2-callable()
查看>>
Python WindowsError
查看>>
nginx配置虚拟主机(2) - ttlsa教程系列之nginx
查看>>
postgresql安装
查看>>
零刻数据提供多地优质BGP双线接入服务
查看>>
基于微软office web apps实现在线预览文档
查看>>
okToAccept: WARNING! Your cache is running out of filedescriptors
查看>>
epel
查看>>
类中关于列表的应用
查看>>
[xmind] JEE - JMS 笔记
查看>>
为android封装的百度定位组件
查看>>