Cheizer
@Cheizer

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

Подскажите пожалуйста, как обернуть каждые два элемента в тег?

Например есть список
<div class="team">
 <div class="team_single">1</div>
<div class="team_single">2</div>
<div class="team_single">3</div>
<div class="team_single">4</div>
<div class="team_single">5</div>
<div class="team_single">6</div>
<div class="team_single">7</div>
<div class="team_single">8</div>
<div class="team_single">9</div>
<div class="team_single">10</div>
</div>


Пытаюсь обернуть каждые два блока в блок с классом NEW
$('.team .team_single').each(function (i, el) {
  $(el).wrap( function(){
   if(i:odd){
       return "<div class='new'></div>";
   }
   else{
       return "";
   }
 });
     });


В итоге хочу получить:
<div class="team">
<div class="new">
 <div class="team_single">1</div>
<div class="team_single">2</div>
</div>
<div class="new">
<div class="team_single">3</div>
<div class="team_single">4</div>
</div>
<div class="new">
<div class="team_single">5</div>
<div class="team_single">6</div>
</div>
<div class="new">
<div class="team_single">7</div>
<div class="team_single">8</div>
</div>
<div class="new">
<div class="team_single">9</div>
<div class="team_single">10</div>
</div>
</div>


Но не получается :( Подскажите решение пожалуйста!

  • Вопрос задан
  • 666 просмотров
Решения вопроса 1
const divs = $(".team > .team_single");

for (let i = 0; i < divs.length; i += 2) {
  divs.slice(i, i + 2).wrapAll("<div class='new'></div>");
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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