Adrian Florescu
Adrian Florescu

Reputation: 4492

jQuery - Wrap elements after one div and before anotherone

I have this html

<div class="sbox">
<div class="top-sbox"></div>
<h3>Menu</h3>
    <ul class="subpages">
    <li><a href="#">Subpagina</a></li>
    <li><a href="#">Subpagina</a></li>
    <li><a href="#">Subpagina</a></li>
    <li><a href="#">Subpagina</a></li>
    <li><a href="#">Subpagina</a></li>
    <li><a href="#" class="last">Subpagina</a></li>
    </ul>


<div class="bottom-sbox"></div>
</div>

How can I wrap all elements after div.top-sbox and before div.bottom-sbox. Thank you!

I want this result:

<div class="sbox">
<div class="top-sbox"></div>
<div id="wrapper">
<h3>Menu</h3>
    <ul class="subpages">
    <li><a href="#">Subpagina</a></li>
    <li><a href="#">Subpagina</a></li>
    <li><a href="#">Subpagina</a></li>
    <li><a href="#">Subpagina</a></li>
    <li><a href="#">Subpagina</a></li>
    <li><a href="#" class="last">Subpagina</a></li>
    </ul>
</div>  
<div class="bottom-sbox"></div>
</div>

Upvotes: 8

Views: 3847

Answers (2)

eyaka1
eyaka1

Reputation: 385

Try a simple: $('.top-sbox').after('<div>'); $('.bottom-sbox').after('</div>');

yep, much nicer answer above, use that one =)

Upvotes: -7

wesbos
wesbos

Reputation: 26317

Here you are.

Edit: sorry. Even simpler: http://jsfiddle.net/ajRd2/1/

$('.top-sbox').nextUntil('.bottom-sbox').wrapAll('<div class="dwrap" />'); 

Upvotes: 17

Related Questions