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的tab切换原理与效果实现方法
Jan 10 Javascript
JavaScript访问字符串中单个字符的两种方法
Jul 03 Javascript
整理Javascript事件响应学习笔记
Dec 02 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
Apr 28 Javascript
JS基于面向对象实现的选项卡效果示例
Dec 20 Javascript
js+html制作简单日历的方法
Jun 27 Javascript
详解基于 Nuxt 的 Vue.js 服务端渲染实践
Oct 24 Javascript
webpack中使用iconfont字体图标的方法
Feb 22 Javascript
解决vue keep-alive 数据更新的问题
Sep 21 Javascript
JS html事件冒泡和事件捕获操作示例
May 01 Javascript
JavaScript单线程和任务队列原理解析
Feb 04 Javascript
vue使用map代替Aarry数组循环遍历的方法
Apr 30 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 MYSQL乱码问题,使用SET NAMES utf8校正
2009/11/30 PHP
iis下php mail函数的sendmail配置方法(官方推荐)
2012/04/25 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
2013/06/25 PHP
使用php测试硬盘写入速度示例
2014/01/27 PHP
php将数组转换成csv格式文件输出的方法
2015/03/14 PHP
php面向对象值单例模式
2016/05/03 PHP
jQuery 1.7.2中getAll方法的疑惑分析
2012/05/23 Javascript
javascript实现TreeView 无刷新展开的实例代码
2013/07/13 Javascript
JavaScript生成GUID的多种算法小结
2013/08/18 Javascript
JavaScript组合拼接字符串的效率对比测试
2014/11/06 Javascript
JavaScript中Cookies的相关使用教程
2015/06/04 Javascript
JavaScript模拟鼠标右键菜单效果
2020/12/08 Javascript
Jquery给当前页或者跳转后页面的导航栏添加选中后样式的实例
2016/12/08 Javascript
详解webpack和webpack-simple中如何引入css文件
2017/06/28 Javascript
基于AngularJS的拖拽文件上传的实例代码
2017/07/15 Javascript
webpack学习笔记之优化缓存、合并、懒加载
2017/08/24 Javascript
jQuery实现的上传图片本地预览效果简单示例
2018/03/29 jQuery
浅谈JS和jQuery的区别
2019/03/27 jQuery
微信小程序常用的3种提示弹窗实现详解
2019/09/19 Javascript
JS判断数组四种实现方法详解
2020/06/29 Javascript
vue中可编辑树状表格的实现代码
2020/10/31 Javascript
win7安装python生成随机数代码分享
2013/12/27 Python
Python中类型关系和继承关系实例详解
2015/05/25 Python
Python中time模块与datetime模块在使用中的不同之处
2015/11/24 Python
Python中的Descriptor描述符学习教程
2016/06/02 Python
Python 专题六 局部变量、全局变量global、导入模块变量
2017/03/20 Python
Python3多线程版TCP端口扫描器
2019/08/31 Python
python实现超市商品销售管理系统
2019/10/25 Python
pytorch实现建立自己的数据集(以mnist为例)
2020/01/18 Python
CSS3提交意见输入框样式代码
2014/10/30 HTML / CSS
销售自我评价
2013/10/22 职场文书
物流管理专业职业生涯规划书
2014/01/06 职场文书
高考升学宴答谢词
2015/01/20 职场文书
写给同学的新学期寄语
2015/02/27 职场文书
ORACLE数据库对long类型字段进行模糊匹配的解决思路
2021/04/07 Oracle
Python os和os.path模块详情
2022/04/02 Python