javascript - 有什么方法可以知道这段 Javascript 代码的作用?

标签 javascript

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

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;
    }
}

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

最佳答案

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

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

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

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

<div class="box"></div>
document.getElementsByClassName('box')

关于javascript - 有什么方法可以知道这段 Javascript 代码的作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19789538/

相关文章:

javascript - 确保约会时间均匀为 5 分钟

javascript - 如何确定回调函数的参数列表

javascript - 如何左对齐 jqmath 表中的元素

javascript - 当我在 img 标签周围添加链接时,将元素居中对齐在 img 元素上不起作用

javascript - 如何获取当前在浏览器视口(viewport)中显示的内容

javascript - Node.js - 如何使用 Sequelize 事务

javascript - 选择更改事件未触发

javascript - 尝试使用液体设置 JS 变量

javascript - Jquery UI 选项卡禁用某些选项卡的 AJAX 功能

JavaScript 数字属性语法