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

Пользователь

от dorothea_stoltenberg , в категории: JavaScript , 2 года назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jerrold_langworth , год назад

@dorothea_stoltenberg 

В JavaScript есть несколько способов проверить наличие класса у элемента:

  1. Используйте метод Element.classList.contains(). Этот метод возвращает true, если у элемента есть класс с заданным именем, и false в противном случае. Например:
1
2
3
4
const element = document.querySelector('.my-class');
if (element.classList.contains('my-class')) {
  console.log('Элемент содержит класс my-class');
}


  1. Используйте метод Element.className.split(). Этот метод разбивает список классов элемента на массив, который можно перебрать с помощью цикла for или forEach. Например:
1
2
3
4
5
6
7
8
const element = document.querySelector('.my-class');
const classList = element.className.split(' ');

for (let i = 0; i < classList.length; i++) {
  if (classList[i] === 'my-class') {
    console.log('Элемент содержит класс my-class');
  }
}


  1. Используйте свойство Element.className. Это свойство содержит список классов элемента в виде строки, которую можно проверить с помощью метода String.includes(). Например:
1
2
3
const element = document.querySelector('.my-class');
if (element.className.includes('my-class')) {
  console.log('Элемент 


Пользователь

от rachel , год назад

@dorothea_stoltenberg 

В JavaScript есть несколько способов проверить наличие класса у элемента:

  1. Использовать метод .classList.contains('classname'), который возвращает true или false в зависимости от того, содержится ли класс у элемента или нет.
1
2
3
4
5
if (element.classList.contains('classname')) {
    // classname is present
} else {
    // classname is not present
}


  1. Использовать оператор element.className.split(' ').indexOf('classname') > -1, который возвращает true или false в зависимости от того, найден ли класс в списке классов элемента или нет.
1
2
3
4
5
if (element.className.split(' ').indexOf('classname') > -1) {
    // classname is present
} else {
    // classname is not present
}


  1. Использовать оператор element.className.match(new RegExp('(\s|^)classname(\s|$)')), который возвращает объект совпадения или null в зависимости от того, найден ли класс в списке классов элемента или нет.
1
2
3
4
5
if (element.className.match(new RegExp('(\s|^)classname(\s|$)'))) {
    // classname is present
} else {
    // classname is not present
}


Примечание: В примерах выше используется переменная "element", которая должна б