2010-09-27 33 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(); 
相關問題