Задать вопрос
@nata32

Как заменить class в цикле?

Передаю массив и прогоняю его в цикле:

const var_cart = <?=json_encode($var_cart); ?>;
if (Array.isArray(var_cart) && var_cart.length !== 0) {
   var_cart.forEach(element => {
    $('#cart'+element).addClass('in_cart');
    console.log('#cart'+element);
});
}

В логе всё пишет нормально, но класс не подставляется. Код, куда должен подставиться класс:

<button type="button" id="cart<?php echo $product['product_id']; ?>" class="product-thumb__add-to-cart add_to_cart btn "

В чём может быть проблема?
  • Вопрос задан
  • 195 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • ProductStar
    Javascript: продвинутый уровень
    1 месяц
    Далее
Решения вопроса 1
@Smirator
Привет. Насколько вижу, могу предположить, что код выполняется раньше, чем кнопки появляются в DOM. Если кнопки выводятся позже (AJAX, шаблон подгружается после загрузки страницы), джейквери просто не находит элементы. Попробуй обернуть в $(document).ready(), ну или запускай после AJAX-загрузки.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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