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 相关文章推荐
dojo 之基础篇
Mar 24 Javascript
jquery实现的导航固定效果
Apr 28 Javascript
中文输入法不触发onkeyup事件的解决办法
Jul 09 Javascript
PHP PDO操作总结
Nov 17 Javascript
jQuery实现列表的全选功能
Mar 18 Javascript
12306验证码破解思路分享
Mar 25 Javascript
使用jsonp实现跨域获取数据实例讲解
Dec 25 Javascript
BootStrap与Select2使用小结
Feb 17 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
Jul 10 Javascript
vue解决使用webpack打包后keep-alive不生效的方法
Sep 01 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
Feb 01 Javascript
vue filter 完美时间日期格式的代码
Aug 14 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图片上传类带图片显示
2006/11/25 PHP
一个PHP针对数字的加密解密类
2014/03/20 PHP
php中实现精确设置session过期时间的方法
2014/07/17 PHP
PHP针对JSON操作实例分析
2015/01/12 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
PHP递归遍历多维数组实现无限分类的方法
2016/05/06 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
2017/10/11 PHP
php用wangeditor3实现图片上传功能
2019/08/22 PHP
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
用jQuery toggleClass 实现鼠标移上变色
2014/05/14 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
2015/08/15 Javascript
javascript跨域的方法汇总
2015/10/23 Javascript
JS中改变this指向的方法(call和apply、bind)
2016/03/26 Javascript
javascript基本语法
2016/05/31 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
VueJS 取得 URL 参数值的方法
2019/07/19 Javascript
微信小程序 腾讯地图显示偏差问题解决
2019/07/27 Javascript
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
2019/09/11 Javascript
详细分析React 表单与事件
2020/07/08 Javascript
[05:45]Ti4观战指南(下)
2014/07/07 DOTA
[43:24]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.12
2020/12/17 DOTA
Python对列表排序的方法实例分析
2015/05/16 Python
python的依赖管理的实现
2019/05/14 Python
Python基于Socket实现简单聊天室
2020/02/17 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
2020/06/12 Python
python中plt.imshow与cv2.imshow显示颜色问题
2020/07/16 Python
苹果台湾官网:Apple台湾
2019/01/05 全球购物
乌克兰网上珠宝商店:GoldSoveren
2020/03/31 全球购物
班主任寄语大全
2014/04/04 职场文书
俄语专业毕业生求职信
2014/07/12 职场文书
社会学专业求职信
2014/07/17 职场文书
工程部主管岗位职责
2015/02/12 职场文书
工伤劳动仲裁代理词
2015/05/25 职场文书
中秋节祝酒词
2015/08/12 职场文书
又涨知识了,自律到底多重要?
2019/06/27 职场文书