需要使用jquery将h3和div包装在包装器div中

需要使用jquery将h3和div包装在包装器div中,jquery,dom,Jquery,Dom,我有以下HTML: <div class="accordion"> <h3>My title</h3> <div>My content</div> <h3>My title</h3> <div>My content</div> <h3>My title</h3> <div>My content</div> </d

我有以下HTML:

<div class="accordion">
  <h3>My title</h3>
  <div>My content</div>
  <h3>My title</h3>
  <div>My content</div>
  <h3>My title</h3>
  <div>My content</div>
</div>

我的头衔
我的内容
我的头衔
我的内容
我的头衔
我的内容
我需要通过jQuery将每个h3和div包装在另一个div class=“myDiv”中,因此最终输出如下所示:

<div class="accordion">
  <div class="myDiv">
    <h3>My title</h3>
    <div>My content</div>
  </div>
  <div class="myDiv">
    <h3>My title</h3>
    <div>My content</div>
  </div>
  <div class="myDiv">
    <h3>My title</h3>
    <div>My content</div>
  </div>
</div>

我的头衔
我的内容
我的头衔
我的内容
我的头衔
我的内容
我如何使用jquery实现这一点?

试试以下方法:

$("h3").each(function(){
   $(this).next("div").andSelf().wrapAll("<div class='myDiv'></div>");
});
$(“h3”)。每个(函数(){
$(this).next(“div”).andSelf().wrapAll(“”);
});

像这样的东西应该可以做到:

$('.accordion h3').each(function() {
    $(this).nextUntil('h3').andSelf().wrapAll('<div class="myDiv"/>');
});
$('.accordion h3')。每个(函数(){
$(this.nextUntil('h3')。和self().wrapAll('');
});

请参阅API:


我发誓这是昨天问的。太好了!成功了!谢谢你的帮助,lonesomeday!