#javascript #jquery
#javascript #jquery
Вопрос:
Я хотел бы вызвать всплывающую форму после нажатия на 4-ю ссылку в моем нижнем колонтитуле.
Этот текущий метод работает с другой кнопкой на моем сайте, но не со ссылкой в моем нижнем колонтитуле.
Почему это так?
HTML:
<ul>
<li><a href="<?php echo esc_url( home_url( '/wordpress/home' ) ); ?>" class="footer-link-text">Home</a></li>
<li><a href="<?php echo esc_url( home_url( '/wordpress/portfolio/' ) ); ?>"class="footer-link-text">Portfolio</a></li>
<li><a href="<?php echo esc_url( home_url( '/wordpress/about-me/' ) ); ?>"class="footer-link-text">About Me</a></li>
<li><a href="#"class="contact-link-footer">Contact</a></li>
</ul>
JS:
document.getElementById('contact-link-footer').addEventListener("click", function() {
document.querySelector('.bg-modal').style.display = "flex";
$('body').css('overflow','hidden')
});
Ответ №1:
Вы используете селектор идентификаторов, но у вас есть класс 🙂 ‘contact-link-footer’ на данный момент является классом вашей ссылки, а не идентификатором
Ответ №2:
Вы можете попробовать следующее: изменить document.getElementById(…) по документу. getElementsByClassName(…)[0] , ноль означает получение первого элемента массива элементов, которые имеют тот же класс в DOM
document.getElementsByClassName('contact-link-footer')[0].addEventListener('click', function() {
console.log('Click in Contact');
document.querySelector('.bg-modal').style.display = "flex";
$('body').css('overflow','hidden');
});
Комментарии:
1. Выполняет ли задание, но я бы назначил классы, которые уже есть в таблице стилей, чтобы избежать встроенного стиля в DOM