getElementsByClassName簡單實現

看風景就發表於2016-12-20
function getElementsByClassName(node, className) {
    var aClassReg = className.split(' ').map(function(item) {
        return new RegExp('(^|\\s)' + item + '(\\s|$)');
    });
    var childs = node.getElementsByTagName('*');
    return Array.prototype.filter.call(childs, function(item) {
        return aClassReg.every(function(c) {
            return c.test(item.className)
        })
    });
}