var hasClass, addClass, removeClass;if ('classList' in document.documentElement) {hasClass = function (el, className) { return el.classList.contains(className); };addClass = function (el, className) { el.classList.add(className); };removeClass = function (el, className) { el.classList.remove(className); };} else {hasClass = function (el, className) {return new RegExp('\b'+ className+'\b').test(el.className);};addClass = function (el, className) {if (!hasClass(el, className)) { el.className += ' ' + className; }};removeClass = function (el, className) {el.className = el.className.replace(new RegExp('\b'+ className+'\b', 'g'), '');};}if ('classList' in document.documentElement) 这句是什么意思,起什么作用
6 回答
人到中年有点甜
TA贡献1895条经验 获得超7个赞
classList属性功能很强大 可以给DOM元素的类名做增删改查操作 但是IE9和IE9以前的版本不支持classList属性 document.documentElemen是文档对象根节点(html)的引用。if ('classList' in document.documentElement) 这句话就是判断浏览器是否支持classList这个属性 如果支持直接进行增删改查操作,如果不支持用正则表达式对类名做一个处理让它兼容
呼唤远方
TA贡献1856条经验 获得超11个赞
'classList' in document.documentElement 就是判断现在浏览器支不支持classList这个属性。
主流浏览器里面 IE应该是10.0之后,谷歌是8.0,火狐是3.6
不过你这段代码里面应该就是为了是所有浏览器都兼容,才添加的判断,如果支持classList这个属性就用classList里面的方法,不支持的话就自己写方法来进行判断
添加回答
举报
0/150
提交
取消