@alexfrolov_xcx

Как обернуть каждые 4 блока в div на чистом Java Script?

Есть блок внутри которого в дальнейшем будут выводиться большое количество постов, как каждые 4 (или любое другое колличество) поста оборачивать в div на чистом Java Script?3309270f93b44ef280eb0faf02b9ebd5.png
  • Вопрос задан
  • 1001 просмотр
Решения вопроса 1
@lemme
Frontend
const container = document.querySelector('.section')
  let wrapper = null;
  
  [...document.querySelectorAll('.item')].forEach((el, i) => {
    if (i % 4 === 0) {
      wrapper = document.createElement('div')
      container.appendChild(wrapper)
    }

    wrapper.appendChild(el)
  })

https://jsfiddle.net/zuja1dxa/1/
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
DaFive
@DaFive
Я бы лучше это сделал до вывода этих элементов в страницу.
var items = [].slice.call(document.getElementsByClassName('item'));
var wrap_size = 4;
var t_arr = [];

for (var i = 0, j = items.length; i < j; i+= wrap_size) {
    t_arr.push(items.slice(i, i + wrap_size));
}

document.getElementById('test').innerHTML = '';

for (i = 0; i < t_arr.length; i++) {
    var div = document.createElement('div');
    
    document.getElementById('test').appendChild(div);
    
    for(j = 0; j < t_arr[i].length; j++) {
    	div.appendChild(t_arr[i][j]);
    }
}

Здесь я почистил весь div, но можно удалить только нужные элементы.
Ответ написан
lazalu68
@lazalu68
Salmon
В цикле для каждых четырёх элементов например создаёте элемент-обертку, перемещаете в него нужные элементы, после этого сам элемент-обёртку кладёте в контейнер (родительский элемент).
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы