1 function getElementsByClassName(className,root,tagName) { //root:父节点,tagName:该节点的标签名。 这两个参数均可有可无 2 if(root){ 3 root=typeof root=="string" ? document.getElementById(root) : root; 4 }else{ 5 root=document.body; 6 } 7 tagName=tagName||"*"; 8 if (document.getElementsByClassName) { //如果浏览器支持getElementsByClassName,就直接的用 9 return root.getElementsByClassName(className); 10 }else { 11 var tag= root.getElementsByTagName(tagName); //获取指定元素 12 var tagAll = []; //用于存储符合条件的元素 13 for (var i = 0; i < tag.length; i++) { //遍历获得的元素 14 for(var j=0,n=tag[i].className.split(' ');j<n.length;j++){ //遍历此元素中所有class的值,如果包含指定的类名,就赋值给tagnameAll 15 if(n[j]==className){ 16 tagAll.push(tag[i]); 17 break; 18 } 19 } 20 } 21 return tagAll; 22 } 23 }