Действительно ли возможно использовать 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>
Вы можете сделать это с помощью .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, если это так.