I want to select all elements between two given elements. I have html like this…
<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>
I want to select everything from the first h2 to the second h2, so I can wrap it in a div, ending up with all sections in their own wrapper.
I’d suggest:
Or, to perform the actual wrapping:
More generically:
JS Fiddle demo.
In order to include the starting element simply use
andSelf()as part of the selector chain:JS Fiddle demo.
Update for jQuery v3+
andSelf()was removed in v3 and should be replaced withaddBack():References:
andSelf().nextUntil().wrapAll().