2012-02-17 4 views
0

parent > child:eq(n)의 현재 위치가 어떤 위치에 있는지 알아야합니다. 즉, .insertAfter().insertBefore()을 사용하여 요소를 올바르게 중첩시켜 이동할 수 있습니다.부모/세트 내의 선택기 위치를 jQuery로 찾으시겠습니까?

jQuery 문서의 여러 부분을 살펴 봤지만 아직 중첩 구조와 관련된 부모 내에서 현재 선택기의 위치를 ​​제공하는 기능을 찾지 못했습니다 (.postion()을 통해 찾을 수있는 차원 위치와 반대).).

오른쪽 함수에 대한 모든 점은이를위한 올바른 함수이거나 jQuery를 사용하여 다음 구조의 요소를 옮기는 좋은 방법입니다.

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

는 (나는 <ul> 부모 내 주위에 각 <li> 요소를 이동해야합니다).

답변

1

index() 메서드를 찾고있는 것 같습니다. 매개 변수가없는 경우 요소 형제를 기준으로 요소 위치를 반환합니다.

당신이 $.each()을 사용하려는 것처럼 소리
var index = $(this).index(); 
+1

감사, 감사, 감사, 감사 다시)! – Avicinnian

1

:

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

그냥 호기심 때문에, 왜'.each()'. 루프 기능이라고 생각했는데? – Avicinnian

+0

"다음과 같은 구조로 요소 이동"이라고 말하면 정렬되지 않은 목록의 목록 항목을 반복하고 있다고 생각하게됩니다. i 번째 요소를 명시 적으로 j 번째 위치로 이동하는 경우 @Matt가 제안한대로'index()'메서드를 사용합니다. 그 질문을 완전히 이해하지 못할 수도 있습니다. –

+0

아, 죄송합니다, 나는 더 명확하게해야합니다. 그들은 명시 적으로 구조의 노드 수를 이동합니다. 1 또는 2 위 또는 아래, 집단적이지는 않음). – Avicinnian

관련 문제