Как добавить класс js?

Ссылка скопирована
1 ответ

Хочу что бы при нажатии на класс у другого класса убирался класс, но вся проблема в том, что в дереве html страницы класса ещё не существует, там контент аяксом загружается через несколько секунд и мой js код не работает.
То есть мой класс .open появляется позже, а скрипт о нем не знает как я понял, подскажите что нужно сделать, что бы скрипт о нем знал?

//Открыть попап $(document).ready(function() {     $(".open").click(function() {             $("#my-popup").removeClass("hide")         }) });

//Открыть попап $(document).ready(function() { $(".open").click(function() { $("#my-popup").removeClass("hide") }) });

Дополнительно:

Ответы:

Используйте всплытие событий. Вешайте обработчик на постоянно присутствующий родительский элемент.

  • https://learn.javascript.ru/event-delegation

Переводишь аякс-запрос на промисы, потом await <нечто, что добавляет .open> и потом уже вешаешь на него обработчик

Попробуй так:

let interval;         let intervalChecker = function () {             if ($(".open").length &gt; 0) {                 $(".open").click(function() {                     $("#my-popup").removeClass("hide")                 });                 clearInterval(interval);             }         }         interval = setInterval(intervalChecker, 10);

let interval; let intervalChecker = function () { if ($(".open").length &gt; 0) { $(".open").click(function() { $("#my-popup").removeClass("hide") }); clearInterval(interval); } } interval = setInterval(intervalChecker, 10);

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Ирина WP Ответ

Для добавления класса с помощью JavaScript можно использовать метод classList.add(). Этот метод добавляет указанный класс к элементу без замены существующих классов.

Пример использования метода classList.add():

// Получаем элемент, к которому хотим добавить класс
var element = document.getElementById("myElement");
 
// Добавляем класс
element.classList.add("myClass");

// Получаем элемент, к которому хотим добавить класс var element = document.getElementById("myElement"); // Добавляем класс element.classList.add("myClass");

В данном примере мы получаем элемент по его id ("myElement") и добавляем класс "myClass". Теперь у элемента будет два класса: его существующий класс и добавленный "myClass".

Если нужно добавить класс к нескольким элементам, можно воспользоваться циклом. Например, если у нас есть несколько элементов с классом "myElements", и мы хотим добавить к ним класс "newClass":

// Получаем все элементы с классом "myElements"
var elements = document.getElementsByClassName("myElements");
 
// Добавляем класс "newClass" к каждому элементу
for (var i = 0; i &lt; elements.length; i++) {
  elements[i].classList.add(&quot;newClass&quot;);
}

// Получаем все элементы с классом "myElements" var elements = document.getElementsByClassName("myElements"); // Добавляем класс "newClass" к каждому элементу for (var i = 0; i &lt; elements.length; i++) { elements[i].classList.add(&quot;newClass&quot;); }

Таким образом, используя метод classList.add(), можно легко добавить классы к элементам на странице с помощью JavaScript.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно