Задать вопрос
LittleFatNinja
@LittleFatNinja
горе девелопер, любитель лютой садомии

Как сделать фильтрацию, когда элементы в разных блоках?

Есть, допустим, такая разметка:

<ul>
   <li></li>
   <li class="hidden"></li>
   <li class="hidden"></li>
   <li></li>
</ul>
<ul>
   <li></li>
   <li></li>
   <li class="hidden"></li>
   <li></li>
</ul>

В итоге должно получится так:

<ul>
   <li></li>
   <li class="hidden"></li>
   <li class="hidden"></li>
   <li></li>
   <li></li>
   <li></li>
</ul>
<ul>
   <li class="hidden"></li>
   <li></li>
</ul>

То есть, в блоке должно быть по 4 видимых элемента.
  • Вопрос задан
  • 214 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
@magazovski
var lis = $('li').filter(':not(hidden)');
var uls = $('ul');

for (var i=0; i < lis.length; i++) {
    $(lis[i]).appendTo(uls[~~(i/4)]);
}


Можно пооптимизировать, но в целом работает как надо
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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