`
dyllove98
  • 浏览: 1382031 次
  • 性别: Icon_minigender_1
  • 来自: 济南
博客专栏
73a48ce3-d397-3b94-9f5d-49eb2ab017ab
Eclipse Rcp/R...
浏览量:38323
4322ac12-0ba9-3ac3-a3cf-b2f587fdfd3f
项目管理checkList...
浏览量:78628
4fb6ad91-52a6-307a-9e4f-816b4a7ce416
哲理故事与管理之道
浏览量:131762
社区版块
存档分类
最新评论

兼容IE getElementsByClassName取标签

 
阅读更多

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

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

 

记得我大学的网站还是table满天飞呢。互联网贫瘠的地方恰恰是国企、ZF部门,一直很纳闷几大国有银行的网银为什么只有ie内核的浏览器才能登陆、支付。或许他们有他们的原因,我现在的知识面太小了,需要学习的东西太多太多。

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics