Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 查找祖先元素和子元素之间的距离_Jquery - Fatal编程技术网

Jquery 查找祖先元素和子元素之间的距离

Jquery 查找祖先元素和子元素之间的距离,jquery,Jquery,我拥有祖先父元素和子元素的jQuery对象 $ancestor = ...; $child = ...; 如何计算两者之间的距离?也就是说,这个祖先链中有多少元素?也许这会有帮助- var counter = 0; var target = ''; while($child.parent().length){ target = $child.parent(); counter++; } console.log(target); 我只是每次迭代parent()对象,每次都用其父对象替换

我拥有祖先父元素和子元素的jQuery对象

$ancestor = ...;
$child = ...;

如何计算两者之间的距离?也就是说,这个祖先链中有多少元素?

也许这会有帮助-

var counter = 0;
var target = '';
while($child.parent().length){
  target = $child.parent();
  counter++;
}
console.log(target);

我只是每次迭代
parent()
对象,每次都用其父对象替换。你会在这里找到所有的祖先。。。我的意思是所有的人。也许这会有帮助-

var counter = 0;
var target = '';
while($child.parent().length){
  target = $child.parent();
  counter++;
}
console.log(target);

我只是每次迭代
parent()
对象,每次都用其父对象替换。你会在这里找到所有的祖先。。。我指的是所有元素。

要得到其他两个元素之间的元素,包括这些元素:

var $els = $child.parentsUntil($ancestor).andSelf()
或者只需获取中间有多少个元素:

var elsInBetween = $child.parentsUntil($ancestor).length - 1

要获取两个其他元素(包括这些元素)之间的元素,请执行以下操作:

var $els = $child.parentsUntil($ancestor).andSelf()
或者只需获取中间有多少个元素:

var elsInBetween = $child.parentsUntil($ancestor).length - 1

.parent()。你确实是对的。我已经修复了帖子。
.parent()
将永远不会返回
null
@esa-感谢您的洞察力。你确实是对的。我把柱子修好了。嗯。。。你每天都能学到新东西!从我这里得到一个大ol'+1!好。。。你每天都能学到新东西!从我这里得到一个大ol'+1!