在操作class时,往往需要叠加或者删除一个class,这里用原生javascript写了一种方法,以供参考。
这里是html代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>DOM操作表格及样式</title> <link rel="stylesheet" type="text/css" href="style.css"/> <script type="text/javascript" src="demo.js"></script> </head> <body> <div id="box" class="aaa bbb ccc">测试Div</div> </body> </html>
这里是非常简单的css代码,只为了测试
.aaa{ font-size: 20px; } .bbb{ color: green; font-size: 30px; } .ccc{font-weight: bold;} .ddd{text-decoration: underline;}
最后这里是javascript代码,用了三个函数来实现
window.onload = function(){ var box = document.getElementById('box'); removeClass(box,'aaa'); } function hasClass(element,cName){ //检查class是否存在 return !!element.className.match(new RegExp('(\s|^)'+cName+'(\s|$)')); } function addClass(element,cName){ //添加一个class if(!hasClass(element,cName)){ element.className +=' '+cName; } } function removeClass(element,cName){ //移除一个class if(hasClass(element,cName)){ element.className = element.className.replace(new RegExp('(\s|^)'+cName+'(\s|$)'),' '); } }