Skip to content

实现一个方法,找出dom结点中最深的元素

js
function findDeepestNode(node) {
    let max = 0
    let deepestNode = null;
    function dsf(currentNode, depth) {
        if (!currentNode) return;
        if (depth > max) {
            max = depth;
            deepestNode = currentNode;
        }
        for (let child of currentNode.children) {
            dsf(child, depth + 1);
        }
    }
    dsf(node, 0);
    console.log({max, deepestNode});
    return deepestNode
}

findDeepestNode(document.body)