jQuery - 在一个div之后和另一个div之前包装元素

时间:2011-05-10 00:48:29

标签: jquery html

我有这个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>

如何在div.top-sbox之后和div.bottom-sbox之前包装所有元素。 谢谢!

我想要这个结果:

<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>

2 个答案:

答案 0 :(得分:17)

你在这里。

编辑:抱歉。更简单:http://jsfiddle.net/ajRd2/1/

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

答案 1 :(得分:-7)

试试一个简单的: $('.top-sbox').after('<div>'); $('.bottom-sbox').after('</div>');

是的,上面更好的答案,使用那个=)