Interview 03 js Get how many kinds of tags are on the page

  1. Realized by recursive call
/* 用来装所有的标签名 */
let arr = []

function getChildTag(parentNode) {
    
    
    arr.push(parentNode.nodeName)/* 将父节点的标签名push到数组当中 */
    /* 如果子节点长度大于0,说明这个节点里面还有子节点,则这个就作为父节点传进去 */
    if (parentNode.children.length > 0) {
    
    
        let arr1 = Array.from(parentNode.children).forEach(item => {
    
    
            getChildTag(item)
        })
    }
}
new Set(getChildTag(document.documentElement))
  1. ES6 syntax to achieve
new Set(Array.from(document.getElementsByTagName('*')).map(item => item.nodeName))

new Set([...document.getElementsByTagName('*')].map(item = > item.nodeName))

Guess you like

Origin blog.csdn.net/Chennfengg222/article/details/104750801