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 相关文章推荐
jQuery中prop()方法用法实例
Jan 05 Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
Apr 20 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
May 10 Javascript
JS实现星星评分功能实例代码(两种方法)
Jun 09 Javascript
JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
Jun 16 Javascript
vue params、query传参使用详解
Sep 12 Javascript
bootstrap响应式导航条模板使用详解(含下拉菜单,弹出框)
Nov 17 Javascript
webpack实现一个行内样式px转vw的loader示例
Sep 13 Javascript
Vue 实现前端权限控制的示例代码
Jul 09 Javascript
vue项目中自定义video视频控制条的实现代码
Apr 26 Javascript
Element el-button 按钮组件的使用详解
Feb 01 Javascript
JavaScript 防篡改对象的用法示例
Apr 24 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中fgetcsv()函数用法实例
2014/11/28 PHP
PHP5.2下preg_replace函数的问题
2015/05/08 PHP
PHP实现批量修改文件名的方法示例
2019/09/18 PHP
JavaScript的Function详细
2006/11/14 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
2011/04/07 Javascript
JSONP 跨域共享信息
2012/08/16 Javascript
浏览器兼容console对象的简要解决方案分享
2013/10/24 Javascript
浅析JavaScript访问对象属性和方法及区别
2015/11/16 Javascript
js实现楼层效果的简单实例
2016/07/15 Javascript
15位和18位身份证JS校验的简单实例
2016/07/18 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
jquery.validate表单验证插件使用详解
2017/06/21 jQuery
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
jquery版轮播图效果和extend扩展
2017/07/18 jQuery
JS实现的走迷宫小游戏完整实例
2017/07/19 Javascript
使用vue中的v-for遍历二维数组的方法
2018/03/07 Javascript
vue自动化表单实例分析
2018/05/06 Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
2019/03/29 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
2020/04/22 Javascript
vue 数据双向绑定的实现方法
2021/03/04 Vue.js
Python生成器(Generator)详解
2015/04/13 Python
Python对象类型及其运算方法(详解)
2017/07/05 Python
Python中bisect的使用方法
2019/12/31 Python
Python可变对象与不可变对象原理解析
2020/02/25 Python
Python新手学习raise用法
2020/06/03 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
CSS3标注引用的出处和来源的方法
2020/02/25 HTML / CSS
自荐信格式范文
2013/10/07 职场文书
数据员岗位职责
2013/11/19 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
2014年政府采购工作总结
2014/12/09 职场文书
Django使用echarts进行可视化展示的实践
2021/06/10 Python
《原神》新角色演示“神里绫人:林隐泓洄” 宠妹狂魔
2022/04/03 其他游戏
Python使用pandas导入csv文件内容的示例代码
2022/12/24 Python