在jquery中包装非子元素

ikk*_*ebr 3 html jquery dom

我目前有一个以下格式的html文档:

<h1>a</h1>
<p>bla</p>
<p>more bla</p>

<h1>b</h1>
<p>different bla</p>
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法来包装<h1>它和它<p>在div中的跟随,所以它看起来像:

<div>
    <h1>a</h1>
    <p>bla</p>
    <p>more bla</p>
</div>

<div>
    <h1>b</h1>
    <p>different bla</p>
</div>
Run Code Online (Sandbox Code Playgroud)

但是我使用wrap和wrapAll来实现这一点并不成功.

Mat*_*all 6

var tagName = 'h1';
$(tagName).each(function ()
{
    var $this = $(this);
    $this.add($this.nextUntil(tagName)).wrapAll('<div></div>');
});
Run Code Online (Sandbox Code Playgroud)

演示演示演示演示演示