如何将父元素添加到一组段落中?

Gab*_*iel 5 jquery

我有这个HTML:

<div id="description">
  <h5>Title</h5>
  <p>First paragraph</p>
  <p>Second paragraph</p>
  <p>Third paragraph</p>
</div>
Run Code Online (Sandbox Code Playgroud)

我想用jQuery插入<p>除第一个元素之外的所有元素的父元素.所以我想要生成的HTML是这样的:

<div id="description">
  <h5>Title</h5>
  <p>First paragraph</p>
  <div class="details">
    <p>Second paragraph</p>
    <p>Third paragraph</p>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

.wrap()jQuery中的函数可以添加父级,但如果我像这样使用它:

$("#description p:not(:first)").wrap('<div class="details" />');
Run Code Online (Sandbox Code Playgroud)

它包裹了我所有的<p>个人.

有什么办法可以修改我的选择器来改变我<div>的"群组"吗?或者使用我不知道的不同功能可能更容易?

谢谢!

jAn*_*ndy 13

所以你正在寻找这种.wrapAll()方法.

$("#description p").not(":first").wrapAll('<div class="details" />');
Run Code Online (Sandbox Code Playgroud)

参考:.wrapAll()

  • @Gabriel:使用方法减少节点的"包裹集"通常会更快.通过使用`:not()`表示法,`Sizzle`(John Resigs css查询引擎)必须完成这项工作.而另一方面,在大多数情况下,速度较慢. (2认同)