原生JS实现增加删除class(addClass,removeClass,toggleClass)

<!DOCTYPE html>
<html>
<head>
<style type="text/css">  
    .night-mode{  
        background:#383838;  
        color:#888888;
    }  
</style>  
  
<script type="text/javascript">
//判断样式是否存在 function hasClass(ele, cls) { return ele.className.match(new RegExp("(\\s|^)" + cls + "(\\s|$)")); } //为指定的dom元素添加样式 function addClass(ele, cls) { if (!this.hasClass(ele, cls)) ele.className += " " + cls; } //删除指定dom元素的样式 function removeClass(ele, cls) { if (hasClass(ele, cls)) { var reg = new RegExp("(\\s|^)" + cls + "(\\s|$)"); ele.className = ele.className.replace(reg, " "); } } //如果存在(不存在),就删除(添加)一个样式 function toggleClass(ele,cls){ if(hasClass(ele,cls)){ removeClass(ele, cls); }else{ addClass(ele, cls); } } //调用 function toggleClassTest(){ var ele = document. getElementsByTagName('body')[0]; toggleClass(ele,"night-mode"); } </script> </head> <body> <div style = "width:250px;height:100px;"> <p>这是一段文字 </p> <p>这是一段文字 </p> <p>这是一段文字 </p> <p>这是一段文字 </p> <p>这是一段文字 </p> <p>这是一段文字 </p> <p>这是一段文字 </p> <p>这是一段文字 </p> <p>这是一段文字 </p> <p>这是一段文字 </p> <p>这是一段文字 </p> <p>这是一段文字 </p> <p>这是一段文字 </p> <p>这是一段文字 </p> <p>这是一段文字 </p> </div> <input type = "button" value = "变黑" onclick = "toggleClassTest();" /> </body> </html>

 

用此方法,可实现夜间模式等功能!

posted @ 2017-02-15 16:31  杨洋洋o  阅读(23954)  评论(0编辑  收藏  举报