CSS классы для +/- рейтингов

Приветствую сообщество!

Наверняка сейчас в меня полетят тухлые помидоры, но хоть убейте не нашел решения!
Задача то не сложная, по по скольку я не почти не шарю не в php не в java, то для меня это сущий ад!
Итак, задача то простенькая:
Необходимо сделать так, что бы выводимому рейтингу присваивался определенный класс, например:
green и red
для того, чтобы в результате выводить при положительном рейтинге что то вроде такого:
<span class="green">800</span>
а прим отрицательном так:
<span class="red">-75</span>
Я реально понимаю и примерно представляю какими средствами необходимо воспользоваться или как можно этого достичь! Но знаний реально мало, поэтому очень прошу помощи!

Спасибо за любую подсказку и даже за помидор брошенный в мою сторону!
Andrey
01 ноября 2016, 19:49
modx.pro
987
0

Комментарии: 5

Петр
02 ноября 2016, 10:00
+3
Добавь в этому span еще один класс, например .ratingcount
Будет так:
<span class="ratingcount">2</span>
И добавь js:
<script>
        $(document).ready(function() {
            //это ссылка на span где числа рейтинга
            var col = $('span.ratingcount');
            //раскоментируй console.log и увидишь в консоли число
            //console.log(col.text());
            //теперь самое простое условие
            if (col.text() > 0) {
                $(col).addClass("green")
            } else {
                $(col).addClass("red")
            }
        });
    </script>
Будет обрабатываться при загрузке страницы.
    Павел Гвоздь
    02 ноября 2016, 20:36
    1
    +4
    Ну, если уж решать эту задачу на JS + jQuery, то корректное решение будет примерно таким:
    $(document).ready(function() {
      var $elements = $('span.ratingcount');
      if ($elements.length) {
        $elements.each(function(idx, element) {
          var $element = $(element);
          if (parseInt($element.text()) > 0) {
            $element.addClass("green");
          } else {
            $element.addClass("red");
          }
        });
      }
    });
      Andrey
      02 ноября 2016, 20:47
      0
      На сколько мне известно это можно решить при помощи например фенома, но вот мозгов не хватает! Кстати Ваш вариант работает как надо и с вызовом списка пользователей!
Andrey
02 ноября 2016, 20:10
0
Спасибо! Для вывода рейтинга одного пользователя помогло!
А вот для списка, он делает почему то все наоборот! Т.е. присваивает класс red положительному!
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    5