jQuery获取元素相对位置

4

我有以下标记:

<div id="selectable1">
<span class="drag">Some Text</span>
<span class="drag">Some Text</span>
<span class="drag">Some Text and <span class="drag">Some Other Text</span></span>
</div>

我需要创建一个函数,可以获取任何(嵌套或非嵌套)相对于主父元素 - #selectable1的位置。

我尝试使用position(),但我的代码无法正常工作:

$(".drag").live('click',function(){ 
var relativepos = $('.drag').position().left
alert(relativepos); 
});

有什么技巧吗? 谢谢。
1个回答

5

在事件中,你要用this来引用当前元素,而不是使用通用的类名。请记住,类.drag可以指代多个元素,而this只指代当前元素。

$(".drag").live('click',function(){ 
  alert( $(this).position().left ); 
});

谢谢,但不幸的是我无法获取相对于我的#selectable1 div的位置。我得到的是相对于文档主体的位置。 - Mircea
设置 #selectable1 { position:relative } - Sampson
在嵌套的span中也获取相对于#selectable1的位置似乎不可能实现?
  • 在您的演示中似乎可以,但我在我的代码中遇到了问题。
- Mircea

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接