NooBiToo
@NooBiToo

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

есть разметка
<ul>
  <li class="item">Итем 1</li>
  <li class="item">Итем 2</li>
  <li class="item">Итем 3</li>
</ul>

Так же есть JS
$(function() {

		$item= $(".item").text();
		$itemArr = $class.match(/[А-ЯЁA-Z][а-яёa-z]+/g);
		$itemArr.forEach(function(item, i, $classArr) {
			if (item === 'Итем 1') {
				$(".item").addClass("item1")
			} 
			if (item === 'Итем 2') {
				$(".item").addClass("item2")
			}
		});
	});

Собственно, я понял что подход не правильный, был ещё один вариант, но уже позабыл
Как при сопадении добавлять класс?
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
iamd503
@iamd503
Верстальщик
$(".item").each(function(){
  var el = $(this),
    text = el.text();
  if (text == 'Итем 1') el.addClass('item1');
  if (text == 'Итем 2') el.addClass('item2');
  if (text == 'Итем 3') el.addClass('item3');
})
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@iljaGolubev
/*
.item-1{ color:red}
.item-2{ color:navy}
.item-3{ color:green}
*/
var item_x_classes_count = 3;
for(x=1; x<=item_x_classes_count; x++){
   $("ul li.item:contains('Итем " + x + "')").addClass('item-' + x);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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