【发布时间】:2012-07-18 12:28:35
【问题描述】:
根据jQuery官方文档,这个函数应该:
"获取匹配元素集中第一个元素的当前坐标,相对于偏移父级。"
以下代码预计返回值 51,但它返回值 0。任何人都可以提供见解,为什么?提前致谢。
我知道添加 css(top:xx) 有效,如果是这样,是否意味着 position() 仅适用于元素具有顶部 css 属性的情况?
<html>
<head>
<style type="text/css">
.outer
{
width:200px;
height:200px;
overflow-y:auto;
border:1px dotted grey;
position:absolute;
}
.inner
{
width:50px;
height:50px;
margin-top: 50px;
border:1px solid red;
}
</style>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript"">
$(document).ready(function () {
$('.inner').mousedown(function (e) {
alert($(this).position().top);
})
})
</script>
</head>
<body>
<div class="outer">
<div class="inner"></div>
</div>
</body>
</html>
【问题讨论】:
-
使用 offset().top jsfiddle.net/XpynZ
-
@sofl 这个是相对于文档的,我想得到inner div和outer div之间的长度,也就是说我需要使用位置而不是偏移量。
标签: javascript jquery