1

我注意到我的网站发生了一些奇怪的事情,所以当我遇到这个问题时,我一直在检查我的文件:

if( typeof document.getElementsByClassName != 'function' ) {
    document.getElementsByClassName = function(classname) {
        var node = document.body;
        var a = [];
        var re = new RegExp('(^| )'+classname+'( |$)');
        var els = node.getElementsByTagName("*");
        for(var i=0,j=els.length; i<j; i++)
            if(re.test(els[i].className))a.push(els[i]);
                return a;
    }
}

有谁知道这可能在做什么?

4

1 回答 1

4

document.getElementsByClassName您的代码是对象方法的简单实现document。这是一种标准方法,但未在较旧的浏览器中定义(如较旧的 IE 版本)。

if( typeof document.getElementsByClassName != 'function' ) {

这部分检查方法的类型是否不是函数(因此未定义),如果是,则稍后定义它。

使用此方法,您可以使用类名从文档中选择 DOM 元素,如下所示

<div class="box"></div>
document.getElementsByClassName('box')
于 2013-11-05T12:59:21.693 回答