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

Как правильно заменить функционал с document.getElementById на class?

Есть кнопка, при нажатии на которую меня должно редиректить на другую страницу:
<button type="submit" name="add-to-cart" value="<?php echo esc_attr($product->get_id()); ?>" class="single_add_to_cart_button button alt" id="buy_now_button">
<?php echo esc_html('Buy Now'); ?>
</button>
<input type="hidden" name="is_buy_now" id="is_buy_now" value="0" />

Вот сам скрипт, который работает через id, но таких кнопок на странице много, и так как это id, работает только самая первая, остальные не редиректят. Скажите пожалуйста, что нужно изменить в скрипте?
<script>
document.getElementById('buy_now_button').onclick = function() {
    setTimeout(function() {
        window.location = 'http://site.com/checkout';
    }, 500);
};
</script>
  • Вопрос задан
  • 653 просмотра
Подписаться 1 Средний 2 комментария
Ответ пользователя Alex К ответам на вопрос (3)
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
const handler = function() {
    setTimeout(function() {
        window.location = 'http://site.com/checkout';
    }, 500);
}

document.querySelectorAll(".someClass").forEach(element => element.onclick = handler )
Ответ написан