我一直注意到我的网站发生了一些奇怪的事情,所以当我遇到这个时,我一直在检查我的文件:
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;
}
}
有谁知道这可能会做什么?
答案 0 :(得分:4)
您的代码是document.getElementsByClassName
对象的document
方法的简单实现。它是一个标准的方法,但没有在旧的浏览器中定义(如旧的IE版本)。
if( typeof document.getElementsByClassName != 'function' ) {
此部分检查方法的类型是否不是函数(因此未定义),如果是,则稍后定义它。
使用此方法,您可以使用类名从文档中选择DOM元素,例如
<div class="box"></div>
document.getElementsByClassName('box')