jQuery使用切片将前N个元素包装到一个新元素中,并将其余N个包装到另一个新元素中 [英] Jquery Wrap first N number of elements into one New Elements and Rest N into another New Element using Slice

查看:76
本文介绍了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

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" />');

推荐答案

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

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆