function getClass (classname,obj) {//obj就是找的标签范围;
var obj=obj||document;//如果obj没有参数传进来的话就为假,就返回document;
var arr=[];//设置一个数组来存储在ie下标签的className属性值等于类名的元素;
if(document.getElementsByClassName){//如果条件为真,就代表浏览器为火狐;
return document.getElementsByClassName(classname)//火狐下面直接返回结果;
}else{//不是火狐
var alls=document.getElementsByTagName("*");//首先找到页面所有的标签;
for (var i=0; i<alls.length; i++) {
if(checkclass(alls[i].className,classname)){//1.1.回调函数判断类名,因为同一标签可能有多个类名;
arr.push(alls[i])//1.3.如果是真的,就把这个元素推进数组里面;
}
}
return arr;
}
}
function checkclass (startclass,endclass) {//判断类名
var arr=startclass.split(" ");//多个类名用空格分隔成不同元素的数组;
for (var i=0; i<arr.length; i++) {
if(arr[i]==endclass){//1.2.被分割的数组元素里面如果有一个等于classname就返回真;
return true;
}
}
return false;
}
<pre name="code" class="html">function getClass (classname,obj) {//obj就是找的标签范围;
var obj=obj||document;//如果obj没有参数传进来的话就为假,就返回document;
var arr=[];//设置一个数组来存储在ie下标签的className属性值等于类名的元素;
if(document.getElementsByClassName){//如果条件为真,就代表浏览器为火狐;
return document.getElementsByClassName(classname)//火狐下面直接返回结果;
}else{//不是火狐
var alls=document.getElementsByTagName("*");//首先找到页面所有的标签;
for (var i=0; i<alls.length; i++) {
if(checkclass(alls[i].className,classname)){//1.1.回调函数判断类名,因为同一标签可能有多个类名;
arr.push(alls[i])//1.3.如果是真的,就把这个元素推进数组里面;
}
}
return arr;
}
}
function checkclass (startclass,endclass) {//判断类名
var arr=startclass.split(" ");//多个类名用空格分隔成不同元素的数组;
for (var i=0; i<arr.length; i++) {
if(arr[i]==endclass){//1.2.被分割的数组元素里面如果有一个等于classname就返回真;
return true;
}
}
return false;
}