时间:2021-08-11 08:24:36 | 栏目:JavaScript代码 | 点击:次
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|$)'),' '); } }