如何将div中的第n个元素包装到第n个元素中

时间:2016-04-14 10:57:57

标签: javascript jquery html css

我有这个:

<div class="myTest"></div>
<div class="myTest"></div>
<div class="myTest"></div>
<div class="myTest"></div>
<div class="myTest"></div>
<div class="myTest"></div>
<div class="myTest"></div>
<div class="myTest"></div>
<div class="myTest"></div>
<div class="myTest"></div>

我正试图获得:

<div class="holder">
    <div class="myTest"></div>
    <div class="myTest"></div>
    <div class="myTest"></div>
    <div class="myTest"></div>
    <div class="myTest"></div>
</div>
<div class="holder">
    <div class="myTest"></div>
    <div class="myTest"></div>
    <div class="myTest"></div>
    <div class="myTest"></div>
    <div class="myTest"></div>
</div>

使用jQuery。我尝试过使用nth-child,但之后它会用div替换每个元素。

我正在尝试将每5个元素添加到名为 holder div中。

虽然如此,我试图使用&#34; nth to nth&#34;元素方法。换句话说,并不是假设每个元素都被包装,而是包含在一个div中的第一到第五个元素,在另一个元素中包含第6到第14个元素。让我们假设这两个批次都包含在同一个类holder中。

批量处理这些动态方法有哪些?

1 个答案:

答案 0 :(得分:4)

您可以使用each()wrapAll()

来完成此操作
var tmp = $();
$(".myTest").each(function(i){
  tmp = tmp.add(this);
  if(((i+1) % 5) == 0){ 
    tmp.wrapAll("<div class='holder'>"); 
    tmp = $(); 
  }
});

DEMO