jQuery获取元素相对于另一个元素的位置

Cam*_*ron 57 jquery

所以我有一个喜欢的div:

<div class="uiGrid">

<div class="trigger"></div>

</div>
Run Code Online (Sandbox Code Playgroud)

我想知道触发器对uiGrid的位置并试过这两个:

$('.trigger').offset('.uiGrid');

$('.trigger').position('.uiGrid');
Run Code Online (Sandbox Code Playgroud)

但都没有得到它.偏移量相对于文档而言,位置相对于父级而不是指定的元素.

我该怎么做?谢谢

Ya *_*ang 86

只做减法你的自我...

var relativeY = $("elementA").offset().top - $("elementB").offset().top;

  • 实际上没有`offset().y`它是`offset().top` (15认同)

Pra*_*ake 11

你可以在这里做的基本上是从子属性值中减去父属性值.

var x = $('child-div').offset().top - $('parent-div').offset().top;
Run Code Online (Sandbox Code Playgroud)

  • 为什么你觉得有必要在公布的答案发布2.5年后发布冗余答案? (6认同)
  • @MaxStrater也许。但他们本可以对原始答案发表评论,或者至少可以对OP表示某种赞赏。 (4认同)
  • 它阐明了哪个元素的位置从另一个元素中减去.查看孩子/父母与A/B (3认同)