扫码关注官方订阅号
js怎么实现jq的addclass,removeclass,例如本来是 class="aa",要变成class="aa bb",注意不用jquery
走同样的路,发现不同的人生
js有个classlist的接口MDN链接
不过你要考虑下兼容性。
replace
if (!this.hasClass(obj, class)) obj.className += " " + class;
elem.className或者elem.classList感觉classList比较好,elem.classList.add('bb')就可以了另外,jQuery源码是通过className实现的addClass和removeClass最后加一句,这种偏基础的问题要学会自己百度google
function addClass(ele,name){ if(ele && name){ var cn = ele.className; if(!cn){ ele.className = name; }else if(cn.indexOf(name) === -1){ ele.className = cn.replace(/\s*$/,' '+name); } } } function removeClass(ele,name){ var reg1 = new RegExp('^\\s*\\b'+ name +'\\b\\s*$'); var reg2 = new RegExp('^\\s*' + name+'\\b'); var reg3 = new RegExp('\\b'+ name + '\\s*$'); var reg4 = new RegExp('\\s*\\b'+name+'\\b\\s*'); if(ele && name){ var cn = ele.className; if(cn && cn.indexOf(name) > -1){ if(reg1.test(cn)){ ele.className = ''; }else if(reg2.test(cn)){ ele.className = cn.replace(reg2,''); }else if(reg3.test(cn)){ ele.className = cn.replace(reg3,''); }else{ ele.className = cn.replace(reg4,' '); } } } };
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
js有个classlist的接口
MDN链接
不过你要考虑下兼容性。
replace
if (!this.hasClass(obj, class)) obj.className += " " + class;
elem.className
或者
elem.classList
感觉classList比较好,elem.classList.add('bb')就可以了
另外,jQuery源码是通过className实现的addClass和removeClass
最后加一句,这种偏基础的问题要学会自己百度google