@vardoLP
Ват ю сэй эбаут май мама?!

Как найти наибольшее число в элементе и добавить класс?

Всем привет. Есть такая разметка.

// элементы с числами
<div class="10">10</div>
<div class="20">20</div>
<div class="30">30</div>

// кнопка для нажатия
<div>Клик плюс</div>

// число для изменения по клику
<div>1</div>


по нажатию на кнопка для нажатия я буду прибавлять на 1 число для изменения по клику

Вопрос: как мне сравнить итоговое число с каждым числом в элементе и добавить нужный класс, если итоговое совпадает или больше
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
$('.button').click(function() {
  const val = +$('.value').text((i, text) => +text + 1).text();

  $('.item')
    .removeClass('xxx')
    .filter((i, el) => +$(el).text() <= val)
    .sort((a, b) => $(a).text() - $(b).text())
    .last()
    .addClass('xxx');
});

или

document.querySelector('.button').addEventListener('click', () => {
  const val = ++document.querySelector('.value').innerText;
  const items = Array.from(document.querySelectorAll('.item'), n => [ n, +n.innerText ]);
  const max = items.reduce((max, n) => n[1] <= val && n[1] > max ? n[1] : max, -Infinity);
  items.forEach(n => n[0].classList.toggle('xxx', n[1] === max));
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
array.sort()?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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