有什么方法可以知道一个页面中有多少个不同的标签?
例如html; body ; div; td; div;可以算作4个不同的标签。

最佳答案

答案是肯定的:

const allTagNames = Array.from(   //cast the result to array to be able to use array's utilities  like "map"
      document.querySelectorAll('*') // select all elements in the page
   ).map(node => node.tagName) // get only the tagName

const allTagNamesWithoutDuplication = [...new Set(allTagNames)]  // Remove duplicated tagname

结果将是:
allTagNamesWithoutDuplication.length

const distinctTags=() => {
      const allTagNames = Array.from(
          document.querySelectorAll('*')
       ).map(node => node.tagName.toLowerCase())

      return [...new Set(allTagNames)]
}


const result = distinctTags();

console.log(
    `this page contains ${result.length}  tags : `, result

)

08-18 23:35