Javascript 如何在<;h2>;

Javascript 如何在<;h2>;,javascript,jquery,html,Javascript,Jquery,Html,我有这个HTML块: <h2>heading A</h2> <p>paragraph 1 of A</p> <p>paragraph 2 of A</p> <h2>heading B</h2> <ul id="list-B"> <li>list B1</li> <li>list B2</li> </ul> <p>

我有这个HTML块:

<h2>heading A</h2>
<p>paragraph 1 of A</p>
<p>paragraph 2 of A</p>
<h2>heading B</h2>
<ul id="list-B">
  <li>list B1</li>
  <li>list B2</li>
</ul>
<p>paragraph 1 B</p>
<h2>...</h2>
..
有什么建议吗?

给你:

$( 'h2' ).each(function () {
    $( this ).nextUntil( 'h2' ).andSelf().wrapAll( '<div class="news" />' );
    $( this ).nextAll().wrapAll( '<div class="content" />' );
});
$('h2')。每个(函数(){
$(this.nextUntil('h2')。和self().wrapAll('');
$(this.nextAll().wrapAll(“”);
});
现场演示:给你:

$( 'h2' ).each(function () {
    $( this ).nextUntil( 'h2' ).andSelf().wrapAll( '<div class="news" />' );
    $( this ).nextAll().wrapAll( '<div class="content" />' );
});
$('h2')。每个(函数(){
$(this.nextUntil('h2')。和self().wrapAll('');
$(this.nextAll().wrapAll(“”);
});
现场演示:

不带jQuery:

function reFormat() {
  // Collect h2 elements
  var h, hs = document.getElementsByTagName('h2');
  var node;
  var d, od = document.createElement('div');
  od.className = 'news';
  var d2, od2 = od.cloneNode(false);
  od2.className = 'content';

  // For each h2
  for (var i=0, iLen=hs.length; i<iLen; i++) {
    h = hs[i];
    d = od.cloneNode(true);
    d2 = od2.cloneNode(true);
    node = h.nextSibling;

    // Append all siblings to new div until get to next h2
    while (node && node != hs[i + 1]) {
      d2.appendChild(node);
      node = h.nextSibling;   
    }

    // Replace h2 with div, then insert into div
    h.parentNode.replaceChild(d, h);
    d.appendChild(h);
    d.appendChild(d2);
  }
}
函数重新格式化(){
//收集h2元素
var h,hs=document.getElementsByTagName('h2');
var节点;
var d,od=document.createElement('div');
od.className='news';
变量d2,od2=od.cloneNode(假);
od2.className='content';
//每h2
对于(var i=0,iLen=hs.length;i不带jQuery:

function reFormat() {
  // Collect h2 elements
  var h, hs = document.getElementsByTagName('h2');
  var node;
  var d, od = document.createElement('div');
  od.className = 'news';
  var d2, od2 = od.cloneNode(false);
  od2.className = 'content';

  // For each h2
  for (var i=0, iLen=hs.length; i<iLen; i++) {
    h = hs[i];
    d = od.cloneNode(true);
    d2 = od2.cloneNode(true);
    node = h.nextSibling;

    // Append all siblings to new div until get to next h2
    while (node && node != hs[i + 1]) {
      d2.appendChild(node);
      node = h.nextSibling;   
    }

    // Replace h2 with div, then insert into div
    h.parentNode.replaceChild(d, h);
    d.appendChild(h);
    d.appendChild(d2);
  }
}
函数重新格式化(){
//收集h2元素
var h,hs=document.getElementsByTagName('h2');
var节点;
var d,od=document.createElement('div');
od.className='news';
变量d2,od2=od.cloneNode(假);
od2.className='content';
//每h2
对于(变量i=0,iLen=hs.length;i