RadCor
@RadCor
Если мой ответ вам помог, отмечайте его решением.

Как получить каждый последний подряд идущий элемент с нужным классом?

Есть такая разметка

Код на https://jsfiddle.net/xnmya6po/

<div class="red">RED</div>
<div class="red">RED</div>
<div class="green">GREEN</div>
<div class="green">GREEN</div>
<div class="green">GREEN last</div> <!-- Выделить этот  -->
<div class="red">RED</div>
<div class="red">RED</div>
<div class="green">GREEN</div>
<div class="green">GREEN last</div> <!-- Выделить этот  -->
<div class="red">RED</div>


Мне из этого списка нужно как-то зацепиться за каждый братский (подрядидущий) последний элемент с классом green.
Подскажите как это сделать?
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const elements = Array.prototype.filter.call(
  document.querySelectorAll('.green'),
  (n, i, a) => n.nextElementSibling !== a[i + 1]
);

Если отдельно стоящие элементы не интересуют, то замените селектор на '.green + .green', или при фильтрации дополнительно проверяйте, что n.previousElementSibling === a[i - 1].
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 17:06
15000 руб./за проект
19 апр. 2024, в 16:53
1000 руб./за проект
19 апр. 2024, в 16:45
5000 руб./за проект