body的wrapInner()直到指定的元素

时间:2016-07-04 14:44:23

标签: jquery html css wrapinner

使用以下HTML:

<body>
   <h1>Foo</h1>
   <div>a</div>
   <div>b</div>
   <h4>Bar</h4>
   <div>c</div>
   <div id="wrap-until"></div>
</body>

我可以使用$('body').wrapInner('<div class="content"></div>'); 轻松包裹整个身体部分,但如何将身体内容包裹起来直到 wrap-until div元素,所以它看起来像:

<body>
   <div class="content">
      <h1>Foo</h1>
      <div>a</div>
      <div>b</div>
      <h4>Bar</h4>
      <div>c</div>
   </div>
   <div id="wrap-until"></div>
</body>

注意:正文中的内容将始终不同,但#wrap-until 元素将始终可用。

1 个答案:

答案 0 :(得分:3)

您可以获取所有必需的元素,并使用not()排除wrap-until元素,然后排除wrapAll(),如下所示:

$('body > *').not('#wrap-until').wrapAll('<div class="content"></div>');

Working example