Element.prototype.getElementsByClassName = Document.prototype.getElementsByClassName = function(_className){
const allEle = document.getElementsByTagName('*');
let classesEle = [];
//去掉前后空格,如果类名之间的空格大于2个,则替换为一个空格
const trim = str => typeof str === 'string' ? str.replace(/\s+/g, ' ').replace(/^\s+|\s+$/g, '') : '';
for(let i = 0, len = allEle.length; i < len; i++){
//获取节点类名
const allClasses = trim(allEle[i].className).split(' ');
for(let j = 0, lenJ = allClasses.length; j < lenJ; j++){
if(allClasses[j] === _className){
classesEle.push(allEle[i]);
}
}
}
return classesEle;
}
运行结果: