Jquery使用Slice将N个元素包含在一个新元素中,并将N重新包含到另一个新元素中

我试图在div中包含一些元素,如果我在一个特定div中有10个div元素,那么逻辑就是这样,那么前5个元素应该包含在一个新div中,而其他5个元素应该包含在另一个新div中。 我可以包裹上半场,但下半场根本没有被包裹。 我想用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('
');

您可以使用以下解决方案:

 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('
'); // wrap first half nodes.slice(divL).wrapAll('
'); // wrap remaining half