首页 / JAVASCRIPT / 原生js实现增加(addclass),删除(removeclass),判断是否存在(hasclass),如果存在删除,如果不存在添加(toggleclass)和获取类名(getbyclass)的方法
原生js实现增加(addclass),删除(removeclass),判断是否存在(hasclass),如果存在删除,如果不存在添加(toggleclass)和获取类名(getbyclass)的方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了原生js实现增加(addclass),删除(removeclass),判断是否存在(hasclass),如果存在删除,如果不存在添加(toggleclass)和获取类名(getbyclass)的方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2159字,纯文字阅读大概需要4分钟。
内容图文
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>addclass,removeclass,hasclass,toggleclass,getbyclass</title> </head> <body> <div class="div1" id="box1"></div> <input type="button" value="按钮" id="btn1"/> <script> function addClass(obj,cls) {//obj:要添加classname的元素,cls:要添加的classname; //如果原来没有class: if(obj.className == ‘‘){ obj.className = cls; } else { //本来已经有class,新增class的情况: var arrclassname = obj.className.split(‘ ‘);// var index = arrIndexOf(arrclassname,cls); if(index == -1) { //如果要添加的class在原来的元素上不存在: obj.className += ‘ ‘ + cls; } } } function arrIndexOf(arr,v){//检测数组中是否有相同的值存在,并且返回它的位置; for(var i=0;i<arr.length;i++){ if(arr[i] == v){ return i; } } return -1; } function removeClass(obj,cls){ //如果有class的话: if(obj.className != ‘‘){ var arrClassName = obj.className.split(‘ ‘);//对原有class进行拆分,看看是否包含需要移除的class,也就是传参cls的classname; var index = arrIndexOf(arrClassName,cls); //r如果有需要移除的class if(index != -1){ arrClassName.splice(index,1); obj.className = arrClassName.join(‘‘); } } } function hasClass(obj,cls){ var cls = cls || ‘‘; if( cls.replace(/\s/g,‘‘).length == 0){ return false;//当cls没有参数时,返回false; }else{ return new RegExp(‘ ‘ + cls + ‘‘).test(‘ ‘ + obj.className); } } function toggleClass(obj,cls){ hasClass(obj,cls) ? removeClass(obj,cls) : addClass(obj,cls); } function getByClass(oParent, sClass) { if (oParent.getElementsByClassName) { return oParent.getElementsByClassName(sClass); } else { //IE 8 7 6 var arr = []; var reg = new RegExp(‘\\b‘ + sClass + ‘\\b‘); var aEle = oParent.getElementsByTagName(‘*‘); for (var i = 0; i < aEle.length; i++) { if (reg.test(aEle[i].className)) { arr.push(aEle[i]); } } return arr; } } var oBtn1 = document.getElementById(‘btn1‘); var oBox1 = document.getElementById(‘box1‘); oBtn1.onclick = function () { if( hasClass(oBox1,‘div1‘) ){ alert(‘hasclass‘); }; alert( getByClass(document,‘div1‘).length ); } </script> </body> </html>
原文:http://www.cnblogs.com/jasonwang2y60/p/6012328.html
内容总结
以上是互联网集市为您收集整理的原生js实现增加(addclass),删除(removeclass),判断是否存在(hasclass),如果存在删除,如果不存在添加(toggleclass)和获取类名(getbyclass)的方法全部内容,希望文章能够帮你解决原生js实现增加(addclass),删除(removeclass),判断是否存在(hasclass),如果存在删除,如果不存在添加(toggleclass)和获取类名(getbyclass)的方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。