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

时间:2013-11-25 08:51:38

标签: javascript jquery

我试图在div中包含一些元素,如果我在一个特定div中有10个div元素,那么逻辑就像这样,那么前5个元素应该包含在一个新div中,而其他5个元素应该包含在另一个新div中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('<div class="leftMost" />');

1 个答案:

答案 0 :(得分: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