宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 个人博客 > javascript

[JS]兼容IE getElementsByClassName取标签

2016-10-13 00:16:48 点击量:48 标签: 收藏本文

一个朋友在某公司为某国企教育机构做网络课程。她的任务是做一些前端页面的工作,但做网络课程的要求是table布局,且得考虑ie6、7、8,不允许用 jquery等框架。要知道ie是不支持className取标签的啊,如果要通过className获取标签怎么办啊。你可以通过这个方法:

  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.     tagNametagName=tagName||"*";                                     
  8.     if (document.getElementsByClassName) {                    //如果浏览器支持getElementsByClassName,就直接的用 
  9.         return root.getElementsByClassName(className); 
  10.     }else {  
  11.         var tagroot.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.     } 

 

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室