在javascript中找到嵌套列表标签的最大高度?

时间:2017-04-21 06:59:02

标签: javascript jquery html dom

我需要找到嵌套标签的最大高度。单个列表嵌套一层深度。另一个列表中的每个列表都嵌套了一层。如果树中根本没有列表,则嵌套的高度为0。

以下是我的HTML文档:

<p>
  <div>Hello:
     <ol>
       <div>World:
         <div>
           <p>
             <div>Tree</div>
           </p>
         </div>
       </div>
     </ol>
  </div>
  <div>Wood</div>
</p>
<p>
  <div>simple list1</div>
</p>
<p>
</p>

我必须编写一个可以返回嵌套列表高度的函数。

2 个答案:

答案 0 :(得分:4)

首先找到所有SQLNET.AUTHENTICATION_SERVICES =(NONE, NTS) ul元素,然后找到所有自己的ul / ol子元素(olmap),最大深度({{可以找到1}}个孩子:

find

&#13;
&#13;
length
&#13;
function findDepth(){
    return  Math.max.apply(null, $('ul, ol').map((i,l)=> $(l).find('ul, ol').length)) + 1;
}
&#13;
&#13;
&#13;

答案 1 :(得分:0)

@david,

请为findDepth()尝试以下方法。这将返回节点深度的强度。

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

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

    return depth;
};