position()

获取匹配元素中第一个元素的当前坐标,相对于offset parent的坐标。(译者注:offset parent指离该元素最近的而且被定位过的祖先元素)

.position()
  • 这个方法不接受任何参数。

.position() 方法可以取得当前元素(包含其 margin 边距) 相对于父元素 (特别是其 padding 填充,不包括 margin 边距和 border 边框)的偏移位置。与 .offset() 不同, .offset() 是获得该元素相对于documet的当前坐标当把一个新元素放在同一个容器里面另一个元素附近时,用 .position() 更好用。

.position() 返回一个包含 top left 属性的对象.

注意: jQuery不支持获取隐藏元素的偏移坐标。也不支持计算设置在 <html> 文档元素上的边距(margin)。

例子

获取第一个段落的坐标位置:

<!DOCTYPE html>
<html>
<head>
  <style> 
  div { padding: 15px;}
  p { margin-left:10px; }
  </style>
  <script src="./static/js/jquery-3.5.0.js"></script>
</head>
<body>
 
<div>
  <p>Hello</p>
</div>
<p></p>
 
<script>
var p = $("p:first");
var position = p.position();
$("p:last").text( "left: " + position.left + ", top: " + position.top );
</script>
 
</body>
</html>

Hello

p

下篇: offset()