2012-10-09 2 views
3

주어진 두 요소 사이의 모든 요소를 ​​선택하고 싶습니다. 나는두 요소 사이의 모든 요소를 ​​선택하는 방법

<h2>This is firsty</h2> 
<p>Some para</p> 
<ul> 
    <li>list items</li> 
    <li>list items</li> 
    <li>list items</li> 
    <li>list items</li> 
    <li>list items</li> 
</ul> 
<h2>Secondy</h2> 
<p>More text</p> 

내가 두 번째 h2에 대한 첫 번째 h2에서 모두를 선택합니다 ... 이런 식으로 HTML을, 그래서 자신의 래퍼의 모든 부분과 끝나는하는 div에 포장 할 수 있습니다.

답변

5

나는 좋을 것 :

var elems = $('h2:first').nextUntil('h2'); 

또는 실제 포장을 수행 할 : 일반적으로

$('h2:first').nextUntil('h2').wrapAll('<div />'); 

더 :

$('h2').each(
    function(i,e) { 
     $(this) 
      .nextUntil(this.tagName) 
      .wrapAll('<div />'); 
    });​ 

JS Fiddle demo합니다. 개시 요소를 포함하기 위해

단순히 선택 주쇄의 일부로서 andSelf()을 사용

$('h2:first').nextUntil('h2').andSelf().wrapAll('<div />'); 

JS Fiddle demo.

참고 :

+0

좋습니다. wrapping하기 전에'h2'를 섹션에 포함시킬 방법이 있습니까? –

+0

실제로 : $ el = $ ("h2"). eq (0); $ el.nextUntil ("h2"). add ($ el)' –

+0

네. =) –

관련 문제