Doctypes сообщают браузеру, на каком языке написана страница, будь то HTML или XHTML. Например,
сообщает браузеру, что страница отображается как HTML4 strict
. Старые браузеры неправильно отображали страницы, поэтому новые браузеры имитируют ошибки старых браузеров, когда они находят старый doctype.
Сегодня вы должны использовать как минимум HTML4 или лучше XHTML.
A Исправить ваш сайт с помощью правильного DOCTYPE! (из A List Apart ).
Вы можете сначала проверить, существует ли элемент
let elem = document.querySelector(".book-now");
if (elem !== null) {
elem.addEventListener("click", e => {
//rest of the code
})
}
Вместо этого вы можете использовать делегат слушателя:
document.addEventListener('click', e => {
if (e.target.matches('.book-now') {
// declare variables
// send Ajax request
// etc.
}
})
Если вы не хотите этого (или должны слушать событие, которое не будет пузыриться), ваш единственный вариант - проверить, является ли элемент существует:
let bookNowBtn = document.querySelector(".book-now");
if (bookNowBtn) {
bookNowBtn.addEventListener('click', e => { /*...*/ })
}