|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
原生JS实现addClass,removeClass,toggleClass
jQuery操作class的方式非常强大,但是目前还有一些人不知道如何使用或者由于项目统一性的原因无法使用jquery.
在此写了一个利用原生js来实现对dom元素class的操作方法
1.addClass:为指定的dom元素添加样式
2.removeClass:删除指定dom元素的样式
3.toggleClass:如果存在(不存在),就删除(添加)一个样式
4.hasClass:判断样式是否存在
下面为一toggleClass的测试例子- <style type="text/css">
- div.testClass{
- background-color:gray;
- }
- </style>
- <script type="text/javascript">
- function hasClass(obj, cls) {
- return obj.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));
- }
- function addClass(obj, cls) {
- if (!this.hasClass(obj, cls)) obj.className += " " + cls;
- }
- function removeClass(obj, cls) {
- if (hasClass(obj, cls)) {
- var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)');
- obj.className = obj.className.replace(reg, ' ');
- }
- }
- function toggleClass(obj,cls){
- if(hasClass(obj,cls)){
- removeClass(obj, cls);
- }else{
- addClass(obj, cls);
- }
- }
- function toggleClassTest(){
- var obj = document. getElementById('test');
- toggleClass(obj,"testClass");
- }
- </script>
- <body>
- <div id = "test" style = "width:250px;height:100px;">
- sssssssssssss
- </div>
- <input type = "button" value = "toggleClassTest" onclick = "toggleClassTest();" />
- </body>
复制代码 |
|