2012-08-31 3 views
1

:건물 동적 메뉴

<div id="block1"> 
    <ul class="category"> 
     <li>Comedy</li> 
    </ul> 
</div> 

<div id="block2"> 
    <ul class="category"> 
     <li>Comedy</li> 
     <li>Drama</li> 
    </ul> 
</div> 

정렬되지 않은리스트 category은 PHP foreach() 생성하고, 일부 블록에 ul 1 li를 포함 할 수 있고, 다른 2, 3 또는 X에서 li, 그래서 여분의 li을 서브 메뉴에서 처음으로 li으로 변환해야합니다.

  • 내 질문은 나머지 부분을 선택하는 방법입니다. 첫 번째 후 <li>? 일단 내가 나머지 li을 가지고 있기 때문에 다른 ul 안에 그들을 감쌀 수 있고 하위 메뉴를 만들 수 있습니다.

다음 코드를 사용하여 옵션 이상으로 목록을 필터링 할 수 있지만 그 다음은 무엇입니까?

$('.categories').filter(function() { 
     if($(this).children("li").length > 1) { 
      console.log($(this).text()); 
     } 
    }); 

답변

1

wrapAll 메서드를 사용할 수 있습니다. D :

$('ul.category').each(function(){ 
    $('li:gt(0)', this).wrapAll('<ul/>') 
}) 
+0

와우,이 굉장 .slice()

$(this).children("li").slice(1); 

당신은 당신이 필요로하는 어떤 포장 할 그 요소로 작업 할 수 있습니다 첫 번째 사용 후 모든 li 요소를 얻으려면! 해결책 주셔서 감사합니다 – Alex

+1

아마도'li : gt (0)'이 약간 더 빠를 것입니다. – VisioN

+0

@VisioN 제안에 감사드립니다 – Alex