#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. Огромное спасибо. Последний — это дурь!