@rsoinvi

Как удалить класс у последних элементов?

Как удалить классы у последних двух элементов снизу?
<ul>
   <li class= "elem"> 1 </li>
   <li class= "elem"> 2 </li>
   <li class= "elem"> 3 </li>
   <li class= "elem"> 4 </li>
   <li class= "elem"> 5 </li>
   <li class= "elem"> 6 </li>
</ul>
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Где элементы находятся, какой класс и у скольких надо удалить:

const parent = document.querySelector('ul');
const className = 'elem';
const count = 2;

Удаляем:

for (const n of [].slice.call(parent.children, -count)) {
  n.classList.remove(className);
}

// или

parent
  .querySelectorAll(`.${className}:nth-last-child(-n + ${count})`)
  .forEach(n => n.classList.remove(className));

// или

for (
  let i = 0, el = parent.lastElementChild;
  i < count && el;
  i++, el = el.previousElementSibling
) {
  el.classList.remove(className);
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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