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