Вы можете перебирать свои элементы и оборачивать их, используя .slice()
и .wrapAll()
, например:
var lis = $("ul li");
for(var i = 0; i < lis.length; i+=3) {
lis.slice(i, i+3).wrapAll('<li class="wrapper"><ul></ul></li>');
}
Поскольку вы что-то сказали как a <div>
/ <span>
это сделает работу и даст вам действительный HTML, например:
<ul>
<li class="wrapper">
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
</li>
<li class="wrapper">
<ul>
<li>Four</li>
<li>Five</li>
<li>Six</li>
</ul>
</li>
</ul>
Ваш пример показывает каждые 2 элемента, но в тексте вашего вопроса сказанокаждые 3 ... Я просто выбрал 3 здесь, просто отрегулируйте число в функции, и все готово.