2015-03-31 99 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