如何确定子元素在父元素中的嵌套程度?

时间:2010-09-27 19:34:32

标签: jquery

给定一个子元素,是否有一种简单的方法可以确定有多少父标记将它与给定的选择器分开?类似.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;
}

2 个答案:

答案 0 :(得分:8)

$element.parentsUntil( "selector" ).length

答案 1 :(得分:4)

请参阅.parentsUntil()方法。

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