Задать вопрос
@Grizar

Как можно сократить код и определить точное место?

имею такую конструкцию
<div class="sl-ide">
        <div class="itek"></div>
        <div class="itek"></div>
        <div class="itek"></div>
        <div class="itek"></div>
        <div class="itek"></div>
ЭТИХ ДИВОВ МНОГО
         <div class="itek"></div>
        <div class="itek"></div>
        <div class="itek"></div>
        <div class="itek"></div>
        <div class="itek"></div>
    </div>


мне нужно разбить это дело на группы в разном количестве и обернуть эти группы в див с одинаковым классом .
я делаю так
const items = [...document.querySelectorAll('.itek')];
const sections = [[0, 5], [5, 8], [8, 10]];

sections.forEach((section, i) => {
  const div = document.createElement('div');
  div.className = `new-grup-styl`;
  document.querySelector('.sl-ide').append(div);
  div.append(...items.slice(...section));
});

но мне хочется меньше строк кода,

тогда я делаю так
let items = $(".sl-ide");
items.slice(0,5).wrapAll('<div class="new-grup-styl">');     
items.slice(5,8).wrapAll('<div class="new-grup-styl">');
items.slice(8,10).wrapAll('<div class="new-grup-styl">');

ну если бы групп было две тогда норм, 
а если десять- то прописывать десять почти одинаковых строк кажись глупо


Я размечтался о таком варианте Ж) ,
let items = $(".sl-ide");
items.slice [[0, 5], [5, 8], [8, 10]].wrapAll('<div class="mydivstyle">');

но он не работает Ж)

Может есть другое максимально короткое решение ?
... а и еще, все должно происходить в<div class="sl-ide">
  • Вопрос задан
  • 143 просмотра
Подписаться 1 Простой 5 комментариев
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
[ 5, 8, 10 ].forEach((n, i, a) => $items.slice(a[i - 1], n).wrapAll('<div>'));
Ответ написан
webdisigner
@webdisigner
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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