我确信这不是一个特定的jQuery问题,但是我用它来实现我的任务,所以我将在jQuery和 HTML的上下文中描述我需要的东西. 我有一个HTML页面,其中包含由服务器生成的div.他们看着像是 di
我有一个HTML页面,其中包含由服务器生成的div.他们看着像是
<div class="image"><img src="image1.png" /></div> <div class="image"><img src="image2.png" /></div> ... <div class="image"><img src="imagen.png" /></div>
div的计数是可变的,例如可以是40-50.
我用这样的东西收集它们:images = jQuery(‘.image’);
现在我需要从集合中获取每9个div并将它们放在一个新创建的容器中,例如,像这样:
<div class="container1"> <div class="image"><img src="image1.png" /></div> <div class="image"><img src="image2.png" /></div> <div class="image"><img src="image3.png" /></div> ... <div class="image"><img src="image9.png" /></div> </div>
然后我需要接下来的9个元素并将它们放在一个类似的新创建的div中,如下所示:
<div class="container2"> <div class="image"><img src="image10.png" /></div> <div class="image"><img src="image11.png" /></div> <div class="image"><img src="image12.png" /></div> ... <div class="image"><img src="image18.png" /></div> </div>
这样我需要获取所有元素并将它们放在新创建的容器中.最后,我将有几个容器,每个容器包含9个元素.显然,如果图像div的总量不是9的倍数,则最后一个容器可以具有更少的元素.
我不是要求一个完整的解决方案,但我需要实现从一个集合中获取每个9个元素的原则.
谢谢.
..感谢所有的评论.这个工作版本建立在patrick dw的方法之上.希望这有助于..
var images = jQuery('.image'); for(i = 0; i < images.length / 9; i++) { jQuery('<div />', { id: 'conainter_' + i, html: images.slice(i*9, i*9+9) }).appendTo('body'); }
即使我最初的回答只是一个暗示;)