javaScript给元素添加多个class的简单实现


Posted in Javascript onJuly 20, 2016

javaScript给元素添加多个class的简单实现

<html>
<head>



<style type="text/css">




.div2{




font-size:16px; 




color:orange;




}




.div3{




font-size:20px;




color:blue;




}



<style>



<script type="text/javascript">




[1]直接把样式赋值给className




var odiv=document.getElementById('div1');




odiv.className= div3




//这样我们会得到 class ="div3" 会直接把div2样式给覆盖掉;




[2]使用累加赋值给className




var odiv=document.getElementById('div1');




odiv.className+=" "+div3  
//样式和样式之间需要空隙 ,所以加个空字符串隔开




//这样可以得到 class="div2 div3" 可以正常增加,但是我们在添加样式的时候我们得考虑下他本身之前有没有同名的样式,如果有我们添加的话就会变成累赘 比如class="div2 div3 div3";




[3]检测样式原先之前是否有相同的样式




var odiv=document.getElementById('div1'); 




function hasClass(element,csName){





element.className.match(RegExp('(\\s|^)'+csName+'(\\s|$)')); //使用正则检测是否有相同的样式

 



}





[4]在[3]的基础上我们就可以进行判断性给元素添加样式了

 




var odiv=document.getElementById('div1'); 




function hasClass(element,csName){




 return  element.className.match(RegExp('(\\s|^)'+csName+'(\\s|$)')); //使用正则检测是否有相同的样式



} 




function addClass(element,csName){




 if(!hasClass(element,csName)){





 element.className+=' '+csName;




}



addClass(odiv,'div3');



//这样就可以灵活给元素添加样式了;



【元素删除指定样式】


//同样先进行判断,在进行删除






 var odiv=document.getElementById('div1'); 



 function hasClass(element,csName){




 return  element.className.match(RegExp('(\\s|^)'+csName+'(\\s|$)')); //使用正则检测是否有相同的样式



} 



 function deleteClass(element,csName){




 if(!hasClass(element,csName)){





 element.className.replace(RegExp('(\\s|^)'+csName+'(\\s|$)'),' ');  //利用正则捕获到要删除的样式的名称,然后把他替换成一个空白字符串,就相当于删除了



 }


 deleteClass(odiv,div3);
 


}



</script>


</head>


<body>



<div id="div1" class='div2'> 测试</div>


</body>

</html>

以上这篇javaScript给元素添加多个class的简单实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JSP中使用JavaScript动态插入删除输入框实现代码
Jun 13 Javascript
javascript几个易错点记录
Nov 26 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
Mar 09 Javascript
通过jquery实现页面的动画效果(实例代码)
Sep 18 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
Dec 28 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
Feb 27 Javascript
Bootstrap 设置datetimepicker在屏幕上面弹出设置方法
Mar 21 Javascript
EasyUI的DataGrid每行数据添加操作按钮的实现代码
Aug 22 Javascript
基于vue-ssr的静态网站生成器VuePress 初体验
Apr 17 Javascript
详解@angular/cli 改变默认启动端口两种方式
Nov 29 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
Sep 03 Javascript
JS实现随机抽选获奖者
Nov 07 Javascript
JavaScript中数组的22种方法必学(推荐)
Jul 20 #Javascript
JavaScript DOM 对象深入了解
Jul 20 #Javascript
JavaScript中的splice方法用法详解
Jul 20 #Javascript
Bootstrap被封装的弹层
Jul 20 #Javascript
必备的JS调试技巧汇总
Jul 20 #Javascript
JavaScript的==运算详解
Jul 20 #Javascript
javascript特效实现——当前时间和倒计时效果的简单实例
Jul 20 #Javascript
You might like
PHP修改session_id示例代码
2014/01/08 PHP
PHP正则表达式 /i, /is, /s, /isU等介绍
2014/10/23 PHP
详谈PHP编码转换问题
2015/07/28 PHP
修复ShopNC使用QQ 互联时提示100010 错误
2015/11/08 PHP
利用PHP获取网站访客的所在地位置
2017/01/18 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
eclipse导入jquery包后报错的解决方法
2014/02/17 Javascript
webapp框架AngularUI的demo改造之路
2014/12/21 Javascript
js中日期的加减法
2015/05/06 Javascript
jquery easyUI中ajax异步校验用户名
2016/08/19 Javascript
jQuery easyui刷新当前tabs的方法
2016/09/23 Javascript
jQuery插件autocomplete使用详解
2017/02/04 Javascript
js实现简易垂直滚动条
2017/02/22 Javascript
JavaScript使用readAsDataURL读取图像文件
2017/05/10 Javascript
webpack 单独打包指定JS文件的方法
2018/02/22 Javascript
jquery 通过ajax请求获取后台数据显示在表格上的方法
2018/08/08 jQuery
vue.js实现的全选与全不选功能示例【基于elementui】
2018/12/03 Javascript
vue图片上传本地预览组件使用详解
2019/02/20 Javascript
详解vue-cli@2.x项目迁移日志
2019/06/06 Javascript
jquery实现简单每周轮换的日历
2020/09/10 jQuery
video.js添加自定义组件的方法
2020/12/09 Javascript
python实现批量按比例缩放图片效果
2018/03/30 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
2019/07/01 Python
Django model class Meta原理解析
2020/11/14 Python
利用三角函数在canvas上画虚线的方法
2018/01/11 HTML / CSS
AOP的定义以及作用
2013/09/08 面试题
人力资源主管岗位职责
2014/01/29 职场文书
财务简历的自我评价
2014/03/05 职场文书
《美丽的丹顶鹤》教学反思
2014/04/22 职场文书
家长会演讲稿
2014/04/26 职场文书
党员志愿者活动总结
2014/06/26 职场文书
社保转移委托书范本
2014/10/08 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
十大必看国产动漫排名,魁拔上线,第二曾在日本播出
2022/03/18 国漫
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android