IE是一个悲剧,getElementsByClassName()都没有,但是这也仅是个小case,重写这个方法就是了。

对document中不存在该函数的添加实现,返回数组,实现如下:

 

 
  
  1. //This is for IE compatibility of function //document.getElementsByClassName() 
  2. //plz import this js before you use the above function under IE 
  3. //author@tommy.lee 
  4. // 
  5. (function(){ 
  6. if(document.getElementsByClassName){ 
  7. return;} 
  8. else
  9.  
  10. document.getElementsByClassName=function(className){ 
  11.  
  12. var allElements=document.getElementsByTagName("*"); 
  13. var resultArray=[]; 
  14.  
  15.    for(var i=0,j=0;i<allElements.length;i++){ 
  16.     if(allElements[i].className==className){ 
  17.     resultArray[j]=allElements[i]; 
  18.     j++; 
  19.     } 
  20.    } 
  21.     
  22. return resultArray; 
  23.  
  24. })(); 

就这样子,我们就可以在任何地方安心地去使用getElementsByClassName()了,(*^__^*) 嘻嘻……