jQuery使用切片将前N个元素包装到一个新元素中,并将其余N个包装到另一个新元素中 [英] Jquery Wrap first N number of elements into one New Elements and Rest N into another New Element using Slice
本文介绍了jQuery使用切片将前N个元素包装到一个新元素中,并将其余N个包装到另一个新元素中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试在div中包装一些元素,如果我在一个特定的div中有10个div元素,那么逻辑将是这样,那么前5个元素应包装在一个新的div中,其他5个元素应包装在另一个新的div中div.我能够包装上半部分,但后半部分根本没有被包装.我想使用切片方法.
i am trying to wrap some elements within a div, logic goes like this if i have 10 div elements within one particular div, then first 5 elements should be wrapped within one new div, and other 5 should be wrapped in another new div. i am able to wrap first half, but second half is not getting wrapped at all. i want to do it using Slice method.
JsFiddle
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" />');
推荐答案
您可以使用以下解决方案:
You can use the following solution:
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
这篇关于jQuery使用切片将前N个元素包装到一个新元素中,并将其余N个包装到另一个新元素中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文