Как вы проверяете, присутствует ли класс css в элементе?

#javascript

Вопрос:

у меня есть этот фрагмент кода,где я хочу проверить, присутствует ли класс css, если да, то я хочу удалить этот конкретный класс.

 var el = document.querySelector('.main-content');  const promo = 'projectPromoActivateMobile'; const transaction = 'projectTransactionActivate'; const newsletter = 'projectNewsletterActivate'; const landingPage = 'projectLandingPageActivate ';  const classLists = [promo,transaction,newsletter,landingPage]   let check = el.classList.contains(promo || transaction ||newsletter || landingPage);  console.log(check);  

это делает работу и проверку,но, похоже, не может получить имя класса, которое необходимо удалить.

как бы вы проверили, присутствует ли этот конкретный класс css в элементе?

Ответ №1:

promo || transaction || newsletter || landingPage разрешится promo , так как все значения являются строками ненулевой длины (следовательно, правдивы). Все следующие значения будут проигнорированы.

Поэтому этот кодекс :

 let check = el.classList.contains(promo || transaction ||newsletter || landingPage);  

точно так же, как это :

 let check = el.classList.contains(promo);  

Вместо этого вы хотите использовать что-то вроде этого:

 const classLists = ["promo","transaction","newsletter","landingPage"]; let check = el.classList.some(class =gt; classLists.includes(class));  

Комментарии:

1. Огромное спасибо. Последний — это дурь!