jquery offset() 和position()
我需要获取元素相对于其父元素的位置。 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()
相同的结果
I need to get position of element relative to its parent. position()
is suppose to do that but it looks like it doesn't.
<!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>
Result:
left: 231, top: 31
If p.paragraf
is inside #container
then #container
should be parent to p.paragraf
. If padding of #container
is set to 30px, shouldn't both left and top position of p.paragraf
be 30px?
I tried offset()
but it gives the same result as position()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
阿罗哈,
添加位置:相对;到您的容器样式
jsfiddle 示例
Aloha,
Add position: relative; to your container style
jsfiddle example