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 相关文章推荐
Javascript 检测、添加、移除样式(className)函数代码
Sep 08 Javascript
Javascript 中的 call 和 apply使用介绍
Feb 22 Javascript
A标签中通过href和onclick传递的this对象实现思路
Apr 19 Javascript
js 表单提交后按钮变灰的实例代码
Aug 16 Javascript
使用JavaScript获取地址栏参数的方法
Dec 19 Javascript
JavaScript获取伪元素(Pseudo-Element)属性的方法技巧
Mar 13 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
Jul 06 Javascript
详解handlebars+require基本使用方法
Dec 21 Javascript
jquery.form.js异步提交表单详解
Apr 25 jQuery
Vue.js项目模板搭建图文教程
Sep 20 Javascript
浅谈webpack打包生成的bundle.js文件过大的问题
Feb 22 Javascript
javascript canvas实现简易时钟例子
Sep 05 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下几个常用的去空、分组、调试数组函数
2009/02/22 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
2013/06/06 PHP
php递归函数怎么用才有效
2018/02/24 PHP
alixixi runcode.asp的代码不错的应用
2007/08/08 Javascript
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
php对mongodb的扩展(小试牛刀)
2012/11/11 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
jQuery实现的兼容性浮动层示例
2016/08/02 Javascript
功能强大的jquery.validate表单验证插件
2016/11/07 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
2016/12/13 Javascript
JS对象深度克隆实例分析
2017/03/16 Javascript
JavaScript之排序函数_动力节点Java学院整理
2017/06/30 Javascript
使用 Javascript 实现浏览器推送提醒功能的示例
2017/11/03 Javascript
基于jQuery实现定位导航位置效果
2017/11/15 jQuery
探秘vue-rx 2.0(推荐)
2018/09/21 Javascript
浅谈Angular 观察者模式理解
2018/11/01 Javascript
在 Vue-CLI 中引入 simple-mock实现简易的 API Mock 接口数据模拟
2018/11/28 Javascript
npx create-react-app xxx创建项目报错的解决办法
2020/02/17 Javascript
vue-cli3中配置alias和打包加hash值操作
2020/09/04 Javascript
Nodejs 数组的队列以及forEach的应用详解
2021/02/25 NodeJs
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
python异步任务队列示例
2014/04/01 Python
python写入xml文件的方法
2015/05/08 Python
Python正则表达式教程之一:基础篇
2017/03/02 Python
Python递归实现汉诺塔算法示例
2018/03/19 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
20行Python代码实现一款永久免费PDF编辑工具的实现
2020/08/27 Python
泰国综合购物网站:Lazada泰国
2018/04/09 全球购物
北京SQL新华信咨询
2016/09/30 面试题
几道数据库的面试题或笔试题
2014/05/31 面试题
渗透攻击的测试步骤
2014/06/07 面试题
学生发电厂实习自我鉴定
2013/09/22 职场文书
班级入场式解说词
2014/02/01 职场文书
先进班集体事迹材料
2014/12/25 职场文书
大一学生个人总结
2015/02/15 职场文书
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android