getElementsByClassName为HTML5新增的方法,这个方法的返回值是一个具有相同类名的元素的数组。这个方法非常有用,解决了以往通过获取标签getElementsByTagName的方法来获取类。但不足的是只有较新的浏览器才会支持它,IE8及以下不兼容。为了弥补不足,对其做一下兼容性处理。
if(!document.getElementsByClassName){
document.getElementsByClassName = function(className,elem){
var children = (elem||document).getElementsByTagName("*");
var elems = [];
for(var i=0; i<children.length; i++){
var child = children[i];
var classNames = child.className.split(" ");
for(var j=0; j<classNames.length; j++){
if(classNames[j] == className){
elems.push(child);
break;
}
}
}
return elems;
}
}