<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>封装class</title> <script> window.onload = function(){ var oUl = document.getElementById('ul1'); var aBox = getByClass(oUl, 'box1'); for(var i = 0; i < aBox.length; i++){ aBox[i].style.color = 'red'; } // JS获取class的方法一(普通版):封装class函数(缺点: 不能识别多个class) /*function getByClass(oParent, sClass){ var arr = []; var aEle = oParent.getElementsByTagName('*'); for(var i = 0; i < aEle.length; i++){ if(aEle[i].className == sClass){ arr.push(aEle[i]); } } return arr; }*/ // JS获取class的方法二(完美版): function getByClass(oParent, sClass){ var arr = []; var aEle = oParent.getElementsByTagName('*'); var re = new RegExp('\b'+ sClass + '\b'); for( var i = 0; i < aEle.length; i++){ if(re.test(aEle[i].className)){ arr.push(aEle[i]); } } return arr; } }; </script> </head> <body> <ul id="ul1"> <li class="box1">111</li> <li>111</li> <li class="box1box2">111</li> <li class="box1 box2">111</li> <li>111</li> <li class="box1">111</li> </ul> </body> </html>