Перенесите каждые 3 отделения в отделение

Действительно ли возможно использовать nth-child селекторы для обертывания 3 использований отделений .wrapAll? Я, может казаться, не разрабатываю корректное уравнение.

так...

<div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
</div>

становится...

<div>
   <div class="new">
        <div></div>
        <div></div>
        <div></div>
   </div>
   <div class="new">
        <div></div>
        <div></div>
        <div></div>
   </div>
</div>
83
задан brasofilo 17 March 2016 в 09:10
поделиться

1 ответ

Вы можете сделать это с помощью .slice(), например так:

var divs = $("div > div");
for(var i = 0; i < divs.length; i+=3) {
  divs.slice(i, i+3).wrapAll("<div class='new'></div>");
}

Вы можете попробовать демо здесь, все, что мы делаем здесь, это получаем элементы, которые вы хотите обернуть, и перебираем их, делая .wrapAll() партиями по 3, затем переходим к следующим 3 и т.д. Он будет обертывать по 3 за раз и столько, сколько останется в конце, например, 3, 3, 3, 2, если это так.

179
ответ дан 24 November 2019 в 08:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: