jquery offset()和position()

时间:2011-02-17 19:51:10

标签: jquery position parent offset

我需要获取元素相对于其父元素的位置。 position()假设这样做,但它看起来没有。

<!DOCTYPE html>
<html>
<head>
  <style>

  body{padding: 0px; margin: 0px;}
  div { margin-left: 200px; padding: 30px; border: 1px solid red;}
  p { margin: 0px; padding: 0px; border: 1px solid black }
  </style>
  <script src="http://code.jquery.com/jquery-1.5.js"></script>

    <script>
        $(document).ready(function() {

            var p = $("p.paragraf");
            var position = p.offset();
            $("p.zadnji").text( "left: " + position.left + ", top: " + position.top );

        });
    </script>  

</head>
<body>

<div class="container">
  <p class="paragraf">Hello</p>
</div>
<p class="zadnji"></p>

</body>
</html>

结果:

  

左:231,上:31

如果p.paragraf位于#container内,则#container应该是p.paragraf的父级。如果#container的填充设置为30px,p.paragraf的左侧和顶部位置是否都不应为30px?

我尝试了offset(),但结果与position()

相同

1 个答案:

答案 0 :(得分:7)

阿罗哈,

添加位置:相对;到您的容器样式

jsfiddle示例