1
使用element.offset().left
可以从您的父级获取元素的偏移位置。有没有办法从另一个元素获得偏移位置?例如,以下是我的html:从父项以外的元素获取偏移量?
<div id="tile_id_579" class="product_tile">
<div class="selectContainer">
<table style="width:100%;">
<tbody>
<tr>
<td>
<div id="select-undefined" class="tzSelect">
<div id="options-undefined" class="tzOptions" style="max-height: 500px; width: 250px; display: none; min-width: 118px;">
<ul class="dropDown" id="dropdown-undefined">
<li><div class="header">Hand-Tossed Style Pizza</div>
<div class="subheader">The crowd-pleasing pizza that everyone can agree on.</div>
<div class="optkey">0</div>
</li>
<li><div class="header">Pan Pizza</div>
<div class="subheader">Our Pan Pizza is America's favorite!</div>
<div class="optkey">1</div>
</li>
</ul>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
它是从数据库生成的。使用offset().left
可以得到我从#selecct-undefined
div的偏移量,但我需要知道#options-undefined
div与.selectContainer
div的差距。这可能吗?相对于文档0。但离开不为0;:
编辑添加的
尝试这两种,而且都返回同样的事情:顶:381,左它不可能。
var tip = $('#tile_id_579 #options-undefined .header');
tip.first().position();
和
var tip = $('#tile_id_579 #options-undefined .header');
tip.first().offset();
这怎么可能,左边是0时都这哪里是DIV是什么?还剩0没有暗示它一直在浏览器窗口的左边?
['.offset()'](http://api.jquery.com/offset/)是相对于文档,['.POSITION()'](HTTP://api.jquery .com/position /)是相对于抵消父项。 – j08691
我已经试过了,他们都返回相同的值。我不确定当父母不是文档本身时这是如何实现的......给OP添加例子。 – EmmyS