javascript - 如何访问元素相对于其父元素的位置

标签 javascript jquery css

我想获取元素相对于其父元素的位置。因此,为此我使用 jquery position 函数 我创建了一个 JsFiddle.

在这个 fiddle 中,我正在访问#child元素的顶部和左侧位置。它应该返回 top : 0 和 left : 0 因为它是 #p 元素的子元素并且它的位置是相对的,但它返回 top : 223px 和 left :1px。有人可以帮我吗?

最佳答案

这里是调整 问题是您没有将 parent 的位置指定为相对位置。所以 child 的位置是相对于 body 计算的

<style type="text/css">
#gp {
    width: 500px;
    height: 200px;
    margin: 0;
    border: 1px solid black;
    background-color:gray;
    overflow:hidden;
}

#p {
    width: 600px;
    height: auto;
    float: left;
    position: relative;
}

#child{
    position: relative;
}
</style>

<div id="gp">
 <div id="p">
     <div id="child">
     </div>
 </div>
</div>

jQuery(document).ready(function(){
    alert($("#child").position().top + " " + $("#child").position().left);
});

关于javascript - 如何访问元素相对于其父元素的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12854202/

相关文章:

javascript - HighCharts 实体仪表图不显示刻度

javascript - Kube js Modal组件关闭不起作用

javascript - 无法使用用户控件调用 webmethod

javascript - 选择倒数第二个元素

html - 使用 CSS 的卷页效果

javascript - 包含对象数组的 typescript 文字对象

jquery - 通过 Jquery 在页面加载时显示不同的按钮

jquery - 禁用按钮

html - 使用 css 更改 html 标签的 href

html - 具有交替行颜色的 Wordpress 表格并在鼠标悬停时突出显示