Задать вопрос
@danchiksux
Говнокодер

Как такое реализовать?

У меня есть карточка продукта и в ней есть атрибут data-raiting и ещё в ней есть звёздочки как в зависимости от атрибута data-raiting(в нём цифры от 1 до 5) красить звёздочки в это карточке(color).
<div data-raiting="4" class="product">
                <div class="product_body">
                    <div class="stars">
                        <i class="fas fa-star"></i>
                        <i class="fas fa-star"></i>
                        <i class="fas fa-star"></i>
                        <i class="fas fa-star"></i>
                        <i class="fas fa-star"></i>
                    </div>
                </div>
                <div class="product_footer">
                    <a class="product_boy" href="#">Купить</a>
                    <a class="product_basket" href="#">В корзину</a>
                </div>
            </div>
  • Вопрос задан
  • 69 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
alvvi
@alvvi
export default apathy;
Можно и без jQuery, на CSS сделать.
Но если надо именно с jQuery:
$('[data-raiting]').each(function(i, el) {
  var $el = $(el)
  var raiting = $el.data('raiting')
  var $icons = $el.find('.stars i')
  // дальше берем нужное количество элементов и добавляем класс/красим 
  // через style
  $icons.slice(0, raiting + 1).addClass('star--filled')
})


.star--filled {
  color: yellow;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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