Как на js сделать .className==(шаблон)?

Суть проста: на сайте для быстрого разбиения строк таблицы по категориям(Категория 1/Категория 2/ т.д.) используется сейчас с помощью применения к строке определенного названия class (например <tr class="cat1">).
При клике на кнопку меню отображаются только строки с классом cat1, а cat2 и т.д. успешно делаются display:none.
if (paramchange == "cat1" && comments[i].className=="cat1") comments[i].style.display = "";

Но теперь возникла ситуация, что необходимо в класс добавить еще несколько, например это сам стиль для строки и еще для того же принципа например класс action.
в итоге имеем такой вид строки: <tr class="cat1 action new_position"> и теперь перестает работать изначальная реализация.
Сейчас получается сравнение строго если класс="cat1".
Как в JS сделать это по шаблону, т.е. если присутствует в классе cat1?
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
27cm
@27cm
TODO: Написать статус
developer.mozilla.org/en-US/docs/Web/API/Element/c...
if (paramchange == "cat1" && comments[i].classList.contains("cat1")) {
    comments[i].style.display = "";
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
<div id="el" class="foo and some other-classes">1</div>

if (document.getElementById('el').classList.contains('foo'))
{
    alert('Yep!');
}
else
{
    alert('Nope...');
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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