JS / jQuery:获取元素的深度?
在纯JavaScript或jQuery中获取元素深度的最简单方法是什么? “深度”是指它嵌套了多少元素,或者它有多少祖先。
怎么样:
$('#my-element').parents().length
另外一个说明。 如果您想获得相对于特定上下文的深度,您可以执行以下操作:
var depth = $("#my-element","#ContextContainerID").parents("ul").length;
上面,我正在搜索容器#ContextContainerID中有多少个UL
假设您不希望在父项中包含body和html标记来计算使用情况:
$("#element").parents("*").not("body,html").size()
在线演示: http : //jsfiddle.net/zaJff/
尝试这样的事情:
MooExample - moo
- foo
- fasoo
- moasf
- moosadg
- moo1
- moo412
- moo613a
我的建议是重新思考你解决问题的方式 – 我认为找到节点之间的代数可能不是最好的方法,这听起来像一个解决方案,很可能很容易被未来的变化打破码。
但是,如果你坚持,解决方案(通过Cletus,在本机javascript中)在这个页面上似乎相当不错: 用jquery查找两个元素之间的节点数量?