Задать вопрос
redfieldone
@redfieldone
Старый , лысый и без денег.

Как проверить значение текста и добавить класс?

Добрый день, я еще новичек но уже пытаюсь писать функции. Нужно сейчас написать функцию которая проверяет текст на цифру ("1". "2" "3")И добавляет соответствующий класс. Вот что я питаюсь писать

$('.views-field-field-jtc-top .field-content').each(function(){
			if ($(this).val() == '1') {
				$(this).addClass('first-rating');
			} else if ($(this).val() == '2') {
				$(this).addClass('twise-rating');
			} else if ($(this).val() == '3') {
				$(this).addClass('three-rating');
			} else {
				$(this).addClass('other-rating');
			}
		});


Но почему то не работает, помогите пожалуйсто.
П.С. Пути правильные.
  • Вопрос задан
  • 121 просмотр
Подписаться 1 Оценить Комментировать
Решения вопроса 2
@iShatokhin
JS developer
Метод .val для input/select, а у вас, как я понял, простой тег. Надо так:

$('.views-field-field-jtc-top .field-content').each(function(){
      var text = $(this).text();
      if (text == '1') {
        $(this).addClass('first-rating');
      } else if (text == '2') {
        $(this).addClass('twise-rating');
      } else if (text == '3') {
        $(this).addClass('three-rating');
      } else {
        $(this).addClass('other-rating');
      }
    });
Ответ написан
ваш код работает, можете проверит на этот jsfiddle.

вот еще другой вариант:
$('.views-field-field-jtc-top .field-content').each(function() {
  var  $this    = $(this),
       _index   = parseInt($this.val()) - 1,
       _classes = ['first-rating', 'second-rating', 'third-rating'];
       //console.log (_classes[_index]);
     if (_classes[_index]) {
  	     $this.addClass(_classes[_index]);  
     } else {
          $this.addClass('other-rating'); 
     }
});

Демо
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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