第一段代码中的 DocumentFragment 应该改为 DocumentType...
/**
* @param {Element} el
* @param {(Element) => void} action
function walk (el, action) {
if (el) {
action(el)
walk(el.firstElementChild, action)
walk(el.nextElementSibling, action)
}
}
walk(document.documentElement, el => console.log(el.nodeName))
// 如果想要去重...
const set = new Set()
walk(document.documentElement, el => {
set.add(el.nodeName)
})
for (let n of set)
console.log(n)
展开