使用jQuery将所有元素包装在div中

ben*_*e89 2 jquery

我有一个很奇怪的标记但是,我有3个div:

<div id="div1"></div>

<div id="div4"></div>

<div id="div12"></div>
Run Code Online (Sandbox Code Playgroud)

在这3个div之间可能还有其他元素,但我需要做的是确保有一个div包装这3个div,所以标记最终会像这样:

<div class="wrapped">
    <div id="div1"></div>

    <div id="div4"></div>

    <div id="div12"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

这可能是使用jQuery的wrap或wrapAll函数吗?

Fré*_*idi 7

这可以用wrapAll()来实现.您可以使用nextUntil(),andSelf()add()来匹配#div1and 之间的元素#div12,包括:

$("#div1").nextUntil("#div12").andSelf().add("#div12")
          .wrapAll("<div class='wrapped'></div>");
Run Code Online (Sandbox Code Playgroud)

  • 如果div之间有任何纯文本,这不起作用,请参阅我的示例:http://jsfiddle.net/alp82/PZvEd/ (3认同)