- 为什么要写这个? 因为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;
}