现在有一段HTML 代码,如下:<div>
<dl> 
    <dd>       
      <p>1</p>
      <div>1</div>
    </dd>
</dl>
<dl> 
    <dd>       
      <p>2</p>
      <div>2</div>
    </dd>
</dl>
<dl> 
    <dd>       
      <p>3</p>
      <div>3</div>
    </dd>
</dl>
<dl> 
    <dd>       
      <p>4</p>
      <div>4</div>
    </dd>
</dl>
<dl> 
    <dd>       
      <p>5</p>
      <div>5</div>
    </dd>
</dl>
</div>
然后每两个<dl> 用一个<div>包裹起来,这个如何做啊,执行后的如下:<div>
<div id=dv1>
<dl> 
    <dd>       
      <p>1</p>
      <div>1</div>
    </dd>
</dl>
<dl> 
    <dd>       
      <p>2</p>
      <div>2</div>
    </dd>
</dl>
</div>
<div id=dv2>
<dl> 
    <dd>       
      <p>3</p>
      <div>3</div>
    </dd>
</dl>
<dl> 
    <dd>       
      <p>4</p>
      <div>4</div>
    </dd>
</dl>
</div>
<div id=dv3>
<dl> 
    <dd>       
      <p>5</p>
      <div>5</div>
    </dd>
</dl>
</div>
</div>

解决方案 »

  1.   


    <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
    <script type="text/javascript">
    $(function(){
    $('#container_div').children('dl').each(function(index){
    if(!((index+2)%2)){
    var _prev = $(this).next();
    $(this).wrap('<div id="dv'+parseInt((index+2)/2)+'"></div>');
    $('#dv'+parseInt((index+2)/2)).append(_prev);
    }
    });
    });
    </script>
    <div id="container_div">
    <dl> 
        <dd>       
          <p>1</p>
          <div>1</div>
        </dd>
    </dl>
    <dl> 
        <dd>       
          <p>2</p>
          <div>2</div>
        </dd>
    </dl>
    <dl> 
        <dd>       
          <p>3</p>
          <div>3</div>
        </dd>
    </dl>
    <dl> 
        <dd>       
          <p>4</p>
          <div>4</div>
        </dd>
    </dl>
    <dl> 
        <dd>       
          <p>5</p>
          <div>5</div>
        </dd>
    </dl>
    </div>