2013-11-25 37 views
0

我想將某些元素封裝在div中,如果我在一個特定div中有10個div元素,前5個元素應該包裝在一個新的div中,其他5個元素應該包裝在另一個新的div中。我能夠包裹上半場,但下半場並沒有被包裹。我想用切片方法做。Jquery將首先N個元素換成一個新元素,然後將N換成另一個使用Slice的新元素

的jsfiddle

http://jsfiddle.net/t9Pqt/

JS

var templateNode = $('.multirow'); 
var divLength = $(templateNode).find('div').length; 
var divL = Math.round(divLength/2); 
$(templateNode).find('div').slice(0,divL).wrapAll('<div class="leftMost" />'); 

回答

0

您可以採用如下方案:

var templateNode = $('.multirow'); 
var divLength = $(templateNode).find('div').length; 
var divL = Math.round(divLength/2); 
var nodes = $(templateNode).find('div'); // store all the nodes in one jQuery list 
nodes.slice(0,divL).wrapAll('<div class="leftMost" />'); // wrap first half 
nodes.slice(divL).wrapAll('<div class="rightMost" />'); // wrap remaining half 
相關問題