function getElementsByClassName(oEle,sClass,sEle){
if(oEle.getElementsByClassName){
return oEle.getElementsByClassName(sClass);
}else{
var aEle=oEle.getElementsByTagName(sEle || '*'),
reg=new RegExp('(^|\\s)'+sClass+'($|\\s)'),
arr=[],
i=0,
iLen=aEle.length; for(; i<iLen; i++){
if(reg.test(aEle[i].className)){
arr.push(aEle[i]);
}
}
return arr;
}
}
使用方法:
//第一种:选择document下的所有class为box_box的div元素
getElementsByClassName(document,'box_box','div')[0].style.background='yellow'; //第二种:选择document下的所有class为box-box的div元素
getElementsByClassName(document,'box-box','div')[0].style.background='yellow'; //第三种:选择document下的所有class为box-box元素
getElementsByClassName(document,'box-box')[0].style.background='yellow';
oEle、sClass是必填的,sEle是选填的。
sClass中又中横线或下划线亲测木有问题,比如说:box-box box_box;但是如果是其他特殊字符就很有可能有问题了,如:box$box...
兼容性:亲测ie6+
js文件下载:
http://pan.baidu.com/share/link?shareid=1821056573&uk=3945321701
来自大大的相关文章:
http://www.cnblogs.com/rubylouvre/archive/2009/07/24/1529640.html