(() => { const $ = document.querySelectorAll.bind(document) const info = {} const total = [0, 0] $('*').forEach((el) => { const nodeName = el.nodeName const tagInfo = (info[nodeName] = info[nodeName] || [0, 0]) tagInfo[0] += 1 if(el.className || el.id) { tagInfo[1] += 1 } }) Object.keys(info).forEach((key) => { info[key].push(info[key][1] / info[key][0]) total[0] += info[key][0] total[1] += info[key][1] }) console.log(info) console.log('div', info.DIV) console.log('span', info.SPAN) console.log('total', total, total[1] / total[0]) })()