这个代码中学到了如果要返回一个数组,可以调用数组的push方法往里面添加。这次写的过程中注意到了哪些该打引号哪些不打。函数return的东西要用一个变量来保存,并不能直接用里面的那个aResult,里面那是一个局部变量。在用TagName选择子元素的时候,因为不知道子元素是什么,所以用了一个通配符来代替。
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <ul id="ull"> <li class="box"></li> <li></li> <li></li> <li class="box"></li> <li></li> </ul> <script> function getByClass (oParent,sClass) { var aResult = []; var aEle = oParent.getElementsByTagName('*'); for(var i=0;i<aEle.length;i++) { if(aEle[i].className == sClass) { aResult.push(aEle[i]); } } return aResult; } var oUl = document.getElementById('ull'); var aBox = getByClass(oUl,'box'); for(var i=0;i<aBox.length ;i++) { aBox[i].style.background = 'red'; } </script> </body> </html>