给定一个子元素,是否有一种简单的方法可以确定有多少父标记将它与给定的选择器分开?类似的东西.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;
}
Run Code Online (Sandbox Code Playgroud)
看.parentsUntil()方法。
var seperatingTags = $(something).parentsUntil('div').size();
Run Code Online (Sandbox Code Playgroud)