jQuery, wrap all consecutive elements?
<p>With jQuery, is there a version of wrapAll that will wrap all consecutive elements? Like this:</p>

<pre><code>&lt;h2&gt;bar&lt;/h2&gt;
&lt;h2&gt;bar&lt;/h2&gt;
&lt;p&gt;foo&lt;/p&gt;
&lt;p&gt;foo&lt;/p&gt;
&lt;h2&gt;bar&lt;/h2&gt;
&lt;p&gt;foo&lt;/p&gt;
&lt;h2&gt;bar&lt;/h2&gt;
</code></pre>

<p>turns into this:</p>

<pre><code>&lt;h2&gt;bar&lt;/h2&gt;
&lt;h2&gt;bar&lt;/h2&gt;
&lt;div&gt;
    &lt;p&gt;foo&lt;/p&gt;
    &lt;p&gt;foo&lt;/p&gt;
    &lt;h2&gt;bar&lt;/h2&gt;
    &lt;p&gt;foo&lt;/p&gt;
&lt;/div&gt;
&lt;h2&gt;bar&lt;/h2&gt;
</code></pre>

<hr>

<p>Or even more complicated, with nested <p>:</p>

<pre><code>&lt;h2&gt;bar&lt;/h2&gt;
&lt;h2&gt;bar&lt;/h2&gt;
&lt;span&gt;
    &lt;p&gt;foo&lt;/p&gt;
    &lt;p&gt;foo&lt;/p&gt;
&lt;/span&gt;
&lt;h2&gt;bar&lt;/h2&gt;
&lt;p&gt;foo&lt;/p&gt;
&lt;h2&gt;bar&lt;/h2&gt;
&lt;span&gt;
    &lt;p&gt;foo&lt;/p&gt;
&lt;/span&gt;
&lt;h2&gt;bar&lt;/h2&gt;
</code></pre>

<p>turns into this:</p>

<pre><code>&lt;h2&gt;bar&lt;/h2&gt;
&lt;h2&gt;bar&lt;/h2&gt;
&lt;div&gt;
    &lt;span&gt;
       &lt;p&gt;foo&lt;/p&gt;
       &lt;p&gt;foo&lt;/p&gt;
    &lt;/span&gt;
    &lt;h2&gt;bar&lt;/h2&gt;
    &lt;p&gt;foo&lt;/p&gt;
    &lt;h2&gt;bar&lt;/h2&gt;
    &lt;span&gt;
        &lt;p&gt;foo&lt;/p&gt;
    &lt;/span&gt;
&lt;/div&gt;
&lt;h2&gt;bar&lt;/h2&gt;
</code></pre>

<p>When this is run?</p>

<pre><code>$('p').wrapAll2('&lt;div /&gt;')
</code></pre>
