IE8以下不支持getElementsByClassName方法

SongKer 发布时间:2014-08-28 分类:Web 阅读:19238次 1 条评论

IE8以下的浏览器中,无法通过Class标签getElementsByClassName函数获取元素。ie9以上及主流浏览器均支持通过Class获取元素,ie8及以下的解决办法:

1、可以用jQuery代替 

引用jQuery后,使用$(".ClassName")等方法获取元素。

2、自己写getElementsByClassName函数方法

//解决IE8之类不支持getElementsByClassName
if (!document.getElementsByClassName) {
    document.getElementsByClassName = function (className, element) {
        var children = (element || document).getElementsByTagName('*');
        var elements = new Array();
        for (var i = 0; i < children.length; i++) {
            var child = children[i];
            var classNames = child.className.split(' ');
            for (var j = 0; j < classNames.length; j++) {
                if (classNames[j] == className) {
                    elements.push(child);
                    break;
                }
            }
        }
        return elements;
    };
}

之后正常使用即可。

已有1条留言

发表评论:

◎欢迎您的参与讨论。