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
新闻热点
疑难解答