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

Дополнение: Tickets

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

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

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

Комментарии (5)

  1. Петр 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>
    
    Будет обрабатываться при загрузке страницы.
    1. Павел Гвоздь 02 ноября 2016, 20:36 # +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");
            }
          });
        }
      });
      1. Andrey 02 ноября 2016, 20:47 # 0
        На сколько мне известно это можно решить при помощи например фенома, но вот мозгов не хватает! Кстати Ваш вариант работает как надо и с вызовом списка пользователей!
        1. Павел Гвоздь 02 ноября 2016, 20:49 # +1
          Можно и на Феном, и на нативе…
    2. Andrey 02 ноября 2016, 20:10 # 0
      Спасибо! Для вывода рейтинга одного пользователя помогло!
      А вот для списка, он делает почему то все наоборот! Т.е. присваивает класс red положительному!
      Вы должны авторизоваться, чтобы оставлять комментарии.