js-根据指定类名查找元素

954 阅读1分钟
  • 为什么要写这个? 因为document.getElementsByClassName有兼容性的问题,所以根据类名来获取元素一般建议自己写方法。

步骤:

1. 判断父级是否传入,没有则赋初始值document  
2. 获取父级oParent下所有标签元素并存储到oChild中
3. 定义空数组arr
4. 对oChild循环,利用字符串函数indexof对每个元素的类名进行查找,找到则将具有该类名的元素添加到arr中
5. 循环结束,返回arr

代码:
参数:待查找元素父级(oParent),待查找类名(classname)

 function getClass(oParent, classname) {
     if (!oParent) {
         oParent=document;
     }
     var oChild=document.getelementsByTagName('*');
     var arr=[];
     var len=oChild.length;
     for (var i=0; i<len; i++) {
         if (oChild[i].className.indexof(classname)>=0) {
             arr.push(oChild(i));
         } 
     }
     return arr;
 }