JavaScript中,关于class的调用


PS:class的调用,其实是可以叠加的,当然了这要求样式不同的情况下,如果样式相同,则后一个样式会覆盖前一个样式。

1.举例如下:

<div id="test" class="aaa bbb">测试关于class的调用</div>

 

.aaa{
  font-size:20px;
  color:red;    
}
.bbb{
  font-size:50px;
  color:green;
}

 

var test=document.getElementById('test');
test.className='aaa';
test.className='aaa bbb';//因为aaa和bbb的样式相同,所以,bbb的样式会覆盖aaa的样式

 所以最后‘测试关于class的调用’几个字的样式是:font-size:50px; color:green;

2.这样的添加类方式很繁琐,每次添加一个新的,我还要带上之前写的类,容易带漏,并且还要检查是否带全,所以可以编写函数方法来解决添加类和删除类的问题:

function hasClass(element,className){      //判断是否存在类
       return element.className.match(new RegExp('(\\s|^)'+className+'(\s|$)'));

}
//添加一个Class
function addClass(element,className){
   if(!hasClass(element,className)){
          element.className+=' '+className;
    }   
}   
//删除一个Class
function removeClass(element,className){
  if(hasClass(element,className)){
       element.className=element.className.replace
     (new RegExp('(\\s|^)'+className+'(\s|$)'),' ');
  }
}     

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM