2010-09-27 61 views
-2

给定一个子元素,是否有一个简单的方法来确定有多少个父标记将它与给定的选择器分开?例如.closest(selector),它返回调用给定选择器所选元素所需的parent()调用次数。我如何确定子元素在父级中的嵌套深度?

的(未经测试)执行的是什么我在寻找:

$.fn.distance = function(selector) { 
    var $parent = $(selector); // TODO check that element exists 
    var $current = $(this); 
    var depth = 0; 
    while ($current != $parent) { 
    $current = $current.parent(); 
    ++depth; 
    } 
    return depth; 
} 

回答

8
$element.parentsUntil("selector").length 
4

.parentsUntil()方法。

var seperatingTags = $(something).parentsUntil('div').size();