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 相关文章推荐
apycom出品的jQuery精美菜单破解方法
Feb 18 Javascript
httpclient模拟登陆具体实现(使用js设置cookie)
Dec 11 Javascript
jQuery.holdReady()使用方法
May 20 Javascript
AngularJS基础 ng-switch 指令简单示例
Aug 03 Javascript
jquery文字填写自动高度的实现方法
Nov 07 Javascript
jQuery EasyUI Panel面板组件使用详解
Feb 28 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
Jan 23 jQuery
vue-router+nginx 非根路径配置方法
Jun 30 Javascript
vue 中的keep-alive实例代码
Jul 20 Javascript
详解Puppeteer前端自动化测试实践
Feb 21 Javascript
详解element-ui日期时间选择器的日期格式化问题
Apr 08 Javascript
小程序跨页面交互的作用与方法详解
Jan 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 生成自动创建文件夹并上传文件的示例代码
2014/03/07 PHP
php实现将Session写入数据库
2015/07/26 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
2009/08/04 Javascript
JS 对象介绍
2010/01/20 Javascript
jquery ajax例子返回值详解
2012/09/11 Javascript
利用javascript实现全部删或清空所选的操作
2014/05/27 Javascript
简介AngularJS中$http服务的用法
2016/02/06 Javascript
简单的jQuery banner图片轮播实例代码
2016/03/04 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
AngularJS删除路由中的#符号的方法
2016/09/20 Javascript
利用vue写todolist单页应用
2016/12/15 Javascript
基于 Bootstrap Datetimepicker 联动
2017/08/03 Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
2018/03/22 Javascript
微信小程序自定义tabBar组件开发详解
2020/09/24 Javascript
解决ie11 SCRIPT5011:不能执行已释放Script的代码问题
2019/05/05 Javascript
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
2019/09/24 Javascript
详解小程序横屏方案对比
2020/06/28 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
2020/09/04 Javascript
Python删除指定目录下过期文件的2个脚本分享
2014/04/10 Python
Python编写登陆接口的方法
2017/07/10 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
python logging 重复写日志问题解决办法详解
2020/08/04 Python
CSS3中的元素过渡属性transition示例详解
2016/11/30 HTML / CSS
通过Canvas及File API缩放并上传图片完整示例
2013/08/08 HTML / CSS
W Hamond官网:始于1979年的钻石专家
2020/07/20 全球购物
英语专业个人求职自荐信
2013/09/21 职场文书
医学院学生的自我评价分享
2013/11/19 职场文书
服务之星获奖感言
2014/01/21 职场文书
军训自我鉴定200字
2014/02/13 职场文书
《邮票齿孔的故事》教学反思
2014/02/22 职场文书
关于职业道德的心得体会
2016/01/18 职场文书
500字作文之周记
2019/12/13 职场文书
MySQL 主从复制数据不一致的解决方法
2022/03/18 MySQL
CentOS7环境下MySQL8常用命令小结
2022/06/10 Servers