原生JS求DOM树的最大深度
题目分析:求dom树的最大深度
- 以html标签为根结点;
- 从根节点出发,一层一层找子节点;
- 对于同级节点来说,只需要返回该级子节点返回的最大子节点( node.children )树。
<!DOCTYPE html>
<html lang="en">
<body>
<div>
<div>
<p>
<span><span></span></span>
</p>
<p></p>
<p><span></span></p>
</div>
</div>
</body>
</html>
<script>
// 求dom树的最大深度
const getDepth = node => {
if (!node.children || node.children.length === 0) {
return 1
}
const maxChildrenDepth = [...node.children].map(v => getDepth(v))
return 1 + Math.max(...maxChildrenDepth)
}
console.log(getDepth(document.documentElement))
</script>