在HTML文档中查找每个子体的深度

时间:2017-07-26 00:08:33

标签: javascript jquery html dom

在下面的代码示例中,Body有两个孩子。我想知道每个孩子的最大深度 Body元素有两个子节点,如何找到每个子节点的最大深度。 在这种情况下: 儿童1深度:3 儿童2深度:5

<body>
    <ul>
        <li>List 1</li>
        <ul>
            <li>
                <h1>Heading 1</h1>
            </li>
        </ul>
    </ul>
    <ul>
        <li>
            <ul>
                <li>
                    <ul>
                        <li></li>
                    </ul>
                </li>
            </ul>
        </li>
    </ul>    
</body>

1 个答案:

答案 0 :(得分:0)

如果您使用jQuery,虽然您的问题不明确,但它非常直接。

$('.child-2').parents().length

或者如果你使用calcDepth,你的问题就不清楚了。

var calcDepth = function ( root ) {
    var $children = $( root ).children();
    var depth = 0;

    while ( $children.length > 0 ) {
        $children = $children.children();
        depth += 1;
    }

    return depth;
};
var result = calcDepth( document.getElementById('parent-1') );