document.querySelectorAll('*')
document.getElementsByTagName('*')
其获取的是一个 NodeList 的类数组。$$('*')
document.all
— 已废弃,不建议使用
获取到所以标签后,我们可以进一步的操作。
const tagNameList = [...document.getElementsByTagName('*')].map(
(v) => v.tagName
)
const tagNameNums = new Set([
...[...document.getElementsByTagName('*')].map((v) => v.tagName)
])
tagNameNums.size
const reduceResult = [...document.getElementsByTagName('*')]
.map((v) => v.tagName)
.reduce((obj, item) => {
obj[item] = obj[item] ? obj[item] + 1 : 1
return obj
}, {})
// 转为数组
const reduceResultEntries = Object.entries(reduceResult)
// 排序
const sortReduceList = Object.entries(reduceResult).sort((a, b) => b[1] - a[1])
// 输出前三名
sortReduceList.slice(0, 3)