2010-02-17 20 views
4

我有以下標記:jQuery的獲得元素的相對位置

<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。

我曾嘗試使用位置(),但我的代碼無法正常工作:

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

任何提示嗎? Thanx

回答

5

在事件中,您將當前元素稱爲this,而不是泛型類名稱。請記住,類.drag引用了許多元素,而this引用了當前元素。

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

Thanx,但不幸的是我無法得到相對於我的#selectable1 div的位置。我獲得相對於文檔主體的位置。 – Mircea 2010-02-17 22:16:17

+0

設置'#selectable1 {position:relative}'。 – Sampson 2010-02-17 22:22:18

+0

在線演示:http://jsbin.com/umozo/2/edit – Sampson 2010-02-17 22:24:35

相關問題