jQuery位置不返回相对值

jQuery position not returning relative value?

本文关键字:相对 返回 位置 jQuery      更新时间:2023-09-26

我正在尝试理解jQuery的position()函数。文档指出,这将返回元素相对于其父元素的位置:

描述:获取匹配元素集合中第一个元素相对于偏移的父元素的当前坐标。

所以,当我在父div中的第一个div上调用position()时,我期望得到0,0。相反,我得到了父节点的绝对位置。这怎么可能呢?如何获得第一个div在另一个div中的相对位置?

我代码:

<div id="icons">
    <div class="icon" id="icon0"></div>
    <div class="icon" id="icon1"></div>
    <div class="icon" id="icon2"></div>
</div>

现在我需要第一个图标的相对位置:

console.log("icon 0 position: " + $("#icon0").position().left + " " + $("#icon0").position().top);

返回"#icons"div的位置,而不是0,0。

尝试使用offset()代替position()

$("#icon0").offset()