2012-05-29 11 views
0

내의 모든 LI를 얻을 수있는 모든 li 내가 내가 찾으려고 노력하고 UL

console.log(element); 

내가 불을 지르고에서 UL 요소의 출력을 얻을 할 경우 ul

내.

내가 console.log(element[0]); 인 경우 정의되지 않습니다. 이제

내가 할 모든 li ul 내에서 찾으려고합니다 :

$('li', element).each(function (index) { 
      console.log(index); 
}); 

하지만 내 인덱스가 출력 됨 결코 극복.

내가 할 경우

$('li', element[0]).each(function (index) { 
      console.log(index); 
      $(this).data('previousIndex', index); 
     }); 

내가 너무 많은 인덱스 내 콘솔 아웃풋이 카운트 얻을. 내 ul에만 3-4가 있습니다. li하지만 잘못된 카운트가 출력됩니다.

아무도 내 실수를 말할 수 있습니까?

편집 :

내가 정렬 플러그인을 사용하고 더 많은 아이디어를 제공합니다. children() 할 때 이것은 내 방화 덤불 출력입니다. 왜 이런 일이 일어나는 지 모르겠습니다. li 이후

enter image description here

+0

은 어떻게 정의합니까 (중첩) 모든 자손을 얻기 위해 얻을 children('li')를 사용하여 jQuery를에 포장의 element에 jQuery를 운영하고'element'를 초기화 ? – VisioN

답변

2

element은 아직 DOM 요소 <ul>이고 jQuery 객체가 아닙니다. 왜냐하면 그랬다면 element[0]이 아니고이되어야합니다.

그래서 먼저 직접적인 아이 <li> 또는 find('li')<li>

//find all children li 
$(element).children('li'); 

//find all descendant li (all nested li) 
$(element).find('li'); 
+0

+1, 대부분의 경우 일 것입니다. 특히 두 번째 증상 :'element'가 DOM 노드이고 element [0]'이 정의되지 않았다면,'$ ('li', undefined)'는 문서에서 _all_'li'을 가져올 것입니다. – Boldewyn

+0

@Joseph : console.log ($ (element) .children());을 할 때 얻을 수있는 결과를 게시했습니다. * 내 편집을 참조하십시오. –

1

ul의 유일한 유효 자녀, 당신은 단지 ulchildren 특성 (jQuery를 또는 .children() 메소드 호출) 얻을 수 있습니다.

관련 문제