zoukankan      html  css  js  c++  java
  • 兼容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内核的浏览器才能登陆、支付。或许他们有他们的原因,我现在的知识面太小了,需要学习的东西太多太多。

  • 相关阅读:
    linux目录特殊权限 t :禁止删除(粘滞)权限
    牛X 好用的sshd_config:ChrootDirectory:特别注意【该目录必须是只能且仅能root用户有w权限!】
    mysql FIND_IN_SET 尝试性优化
    Java base64 添加data URI
    【java】itext5 添加页眉页脚
    【java】一些图片印章的处理方法
    授权MySQL root 用户所有权限
    法学 五院四系
    最具投资前景
    JCL ABEND CODE
  • 原文地址:https://www.cnblogs.com/duanhuajian/p/2946584.html
Copyright © 2011-2022 走看看