找回密码
 注册

[JS] IE6 IE7 IE8 document.getElementsByClassName

php 发表于 2014/4/14 21:52 | 显示全部楼层 |阅读模式
Google Chrome、Firefox、Opera、Safari、IE9及更新版本都支持javascript的document.getElementsByClassName函数,而IE6 IE7 IE8不支持document.getElementsByClassName,我们只能自己给document增加一个自定义函数getElementsByClassName,让IE 6-8也支持document.getElementsByClassName
以下是IE6 IE7 IE8 document.getElementsByClassName的代码及实例。
为了避免出现乱码和防止代码被编辑器修改,请下载附件测试查看,不要直接复制以下代码。
  1. <!-- www.51-n.com -->
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5.         <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  6.         <title>IE6 IE7 IE8 document.getElementsByClassName</title>
  7.         <script type="text/javascript">
  8.                 /* 为IE6 IE7 IE8增加document.getElementsByClassName函数 */
  9.                 /MSIE\s*(\d+)/i.test(navigator.userAgent);
  10.                 var isIE=parseInt(RegExp.$1?RegExp.$1:0);
  11.                 if(isIE>0&&isIE<9){
  12.                         document.getElementsByClassName=function(cls){
  13.                                 var els=this.getElementsByTagName('*');
  14.                                 var ell=els.length;
  15.                                 var elements=[];
  16.                                 for(var n=0;n<ell;n++){
  17.                                         var oCls=els[n].className||'';
  18.                                         if(oCls.indexOf(cls)<0)        continue;
  19.                                         oCls=oCls.split(/\s+/);
  20.                                         var oCll=oCls.length;
  21.                                         for(var j=0;j<oCll;j++){
  22.                                                 if(cls==oCls[j]){
  23.                                                         elements.push(els[n]);
  24.                                                         break;
  25.                                                 }
  26.                                         }
  27.                                 }
  28.                                 return elements;
  29.                         }
  30.                 }
  31.                 onload=function(){
  32.                         var els=document.getElementsByClassName('xc');
  33.                         var l=els.length;
  34.                         for(var n=0;n<l;n++){
  35.                                 alert(els[n].outerHTML);
  36.                         }
  37.                 }
  38.         </script>
  39. </head>
  40. <body>
  41.         <div class="xc cx">Hello World!</div>
  42.         <div class="cc xx xc cx">Hello Wuxiancheng!</div>        
  43. </body>
  44. </html>
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

手机版|轻松E站

轻松E站

快速回复 返回顶部 返回列表