den0820
@den0820
Фронтенд Junior разработчик.

Каждые три элемента помещать в обертку?

Здравствуйте. Помогите с решением задачи. Суть состоит в том, чтобы каждые три элемента(объекта) помещать в обертку, то есть, например в элемент "div".
  • Вопрос задан
  • 698 просмотров
Пригласить эксперта
Ответы на вопрос 2
qork
@qork
{ background: #F00B42 }
Если я правильно понял, то с помощью js надо каждый третий элемент поместить в див, к примеру, из
<span>Элемент1</span>
<span>Элемент2</span>
<span>Элемент3</span>
<span>Элемент4</span>
<span>Элемент5</span>
<span>Элемент6</span>

должно получится
<div>
   <span>Элемент1</span>
   <span>Элемент2</span>
   <span>Элемент3</span>
</div>
<div>
   <span>Элемент4</span>
   <span>Элемент5</span>
   <span>Элемент6</span>
</div>


JS
var span = $('span'),
    cntGroup = 3; // по сколько элементов в группе
var divsArr = span.get();
for(var i = 0; i < span.length; i += cntGroup){
    $(divsArr.slice(i,i+cntGroup)).wrapAll('<div>');
}

https://jsfiddle.net/x64n49fe/

Это немного подредактированный вариант отсюда
http://ru.stackoverflow.com/questions/278838/Оберн...
Ответ написан
Комментировать
den0820
@den0820 Автор вопроса
Фронтенд Junior разработчик.
webapi.subs.get().then(function(resp){
            var respSubs = [],
                html = '';




            if (resp && resp.status === 0) {
                respSubs = resp.result["tariffs"];

                respSubs.forEach(function(item, i) {
                    html += self.subsTemplate(item);
                    //wrapper.innerHTML = html;

                    if(i % 3 == 0) {
                        var wrapper = document.createElement('div');
                        wrapper.classList.add('row');
                        wrapper.innerHTML = html;
                        self.container.appendChild(wrapper);
                    }
                    
                    html = '';
                });
            }
        });
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
24 нояб. 2024, в 01:35
5000 руб./за проект
24 нояб. 2024, в 01:24
500 руб./за проект
24 нояб. 2024, в 00:04
5000 руб./за проект