如何在jQuery中获取当前元素深度?

时间:2014-06-05 11:04:21

标签: javascript jquery

考虑我有HTML

<div id=test> 
    <a>test1</a>

    <div> 
        <a>test2</a>
        <a>test3</a>
    </div>
</div>

第二&amp;第三个链接的深度与第一个不同,如果我使用jQuery选择它们,如何识别它们的深度差异?

$('a').each(function() {
    console.log($(this).text() + " and my current depth is: "); 
});

http://jsfiddle.net/vpp8d/

2 个答案:

答案 0 :(得分:3)

我会使用$(this).parents().length

执行此操作

http://jsfiddle.net/vpp8d/1/

答案 1 :(得分:0)

如果您想在特定容器中获取深度,请使用parentsUntil()

$('a').each(function() {
    console.log($(this).text() + " and my current depth is: " + $(this).parentsUntil('#test').length);  // 0, 1, 1 in your case
});

parents()将返回相对于根元素的深度,这可能不是您想要的。