如何包装h1并跟踪div中的内容?

时间:2013-06-03 14:56:10

标签: javascript jquery html wrapall

我需要知道如何包装h1并关注div中的内容。这是原始结构:

<h1>Title #1</h1>
<p>Text</p>
<p>Text</p>

<h1>Title #2</h1>
<p>Text</p>
<p>Text</p>
<p>Text</p>

<h1>Title #3</h1>
<p>Text</p>

这是我想要得到的结果:

<div>
  <h1>Title #1</h1>
  <p>Text</p>
  <p>Text</p>
</div>

<div>
  <h1>Title #2</h1>
  <p>Text</p>
  <p>Text</p>
  <p>Text</p>
</div>

<div>
  <h1>Title #3</h1>
  <p>Text</p>
</div>

1 个答案:

答案 0 :(得分:6)

尝试使用wrapAll并对h1和所有p代码进行分组

$(function () {
    $('h1').each(function () {
        $(this).nextUntil('h1').add(this).wrapAll('<div />');
    });
});

DEMO: http://jsfiddle.net/zPafK/

http://jsfiddle.net/zPafK/2/(添加了一些样式)