2015-03-31 100 views
2

我试图用div封装选定的ID集,并用不同的ID套住其他集,但不太清楚它应该如何工作。jQuery使用div封装多个ID

我有以下的html代码:

<div class="wrapper"> 
<div id="block_1"> 
     <div class="post"> 
     </div> 
</div> 
<div id="block_2"> 
     <div class="post"> 
     </div> 
</div> 
<div id="block_3"> 
     <div class="post"> 
     </div> 
</div> 
<div id="block_4"> 
     <div class="post"> 
     </div> 
</div> 
<div id="block_5"> 
     <div class="post"> 
     </div> 
</div> 

,并希望使用jQuery来使两个套包裹着另一格不同,像这样:

<div class="wrapper"> 
<div class="wrapright"> 
    <div id="block_1"> 
      <div class="post"> 
      </div> 
    </div> 
    <div id="block_4"> 
      <div class="post"> 
      </div> 
    </div> 
    <div id="block_5"> 
      <div class="post"> 
      </div> 
    </div> 
</div> 
<div class="wrapleft"> 
    <div id="block_2"> 
      <div class="post"></div> 
    </div> 

    <div id="block_3"> 
      <div class="post"></div> 
    </div> 

    </div> 

</div> 

正如你看到的,我想包裹block 1,4,5class="wrapright"和包装块2,3与class="wrapleft"

有没有JQuery的方式,我可以做到这一点!我发现了一些方法,但所有的单套,不是多...

您的帮助表示赞赏!

回答

5

您可以使用.wrapAll()。

如果ID和元素集是恒定的,那么你可以只

$('#block_1, #block_4, #block_5').wrapAll('<div class="wrapright" />'); 
$('#block_2, #block_3').wrapAll('<div class="wrapleft" />'); 

演示:Fiddle


如果元素集不是恒定的,那么你需要拿出一个逻辑上如何确定组。

+0

完美...那个工作!谢谢@ [Arun](http://stackoverflow.com/users/114251/arun-p-johny) – 2015-03-31 03:47:07