2012-02-17 44 views
0

我需要找出當前選擇器位於parent > child:eq(n)的哪個位置,以便我可以使用.insertAfter().insertBefore()正確地將元素移動到其嵌套中。使用jQuery在parent/set中查找選擇器位置?

我已經瀏覽了jQuery文檔的幾個部分,但是我還沒有找到一個函數,它給出了當前選擇器在其父節點中與嵌套結構相關的位置(與可以通過.postion()發現的尺寸位置相反)。

任何指向此功能的正確函數,或者使用jQuery在下面的結構中移動元素的好方法都會非常非常感謝;)!

<ul data-submenu="1" class="sub-menu"> 
    <li>Text Module</li> 
    <li>Feature Module</li> 
    <li>Feature Module</li> 
</ul> 

(我需要每個<li>元件<ul>母體內移動)。

回答

1

看來你正在尋找index()方法,如果沒有參數提供,該方法返回相對於它的兄弟的元素位置。

var index = $(this).index(); 
+1

謝謝,謝謝,謝謝,也謝謝)! – Avicinnian 2012-02-17 15:55:56

1

這聽起來像你想使用$.each():再次

$('.sub-menu').children('li').each(function(index) { 
    console.log('This is the ' + index + ' li element.'); 
}); 
+0

出於好奇,爲什麼'.each()'。我認爲這是一個循環功能? – Avicinnian 2012-02-17 15:56:34

+0

你說「在以下結構中移動元素」,這導致我相信你正在循環無序列表中的列表項。如果你明確地將第i個元素移動到第j個位置,那麼我會像@Matt所建議的那樣去'index()'方法。我可能不完全明白這個問題。 – 2012-02-17 16:02:28

+0

啊,道歉,我應該澄清更好。它們被明確地移動到該結構中的一定數量的節點,例如, 1或2上或下,點擊不在集體:)。 – Avicinnian 2012-02-17 16:10:42