Помогите исправить ошибки в консоли браузере в JS файле
Всем доброго времени суток!
Есть сайт maxg5.ru В консоли есть несколько ошибок в файле priority-menu.js. Из за этих ошибок не корректно отображается список меню в мобильной версии. Точнее не в том порядке, который задан в админке. В консоли пишется что ошибка в этом коде: var visibleList = container.parentNode.querySelector('.main-menu[id]'); var hiddenList = visibleList.parentNode.nextElementSibling.querySelector('.hidden-links'); var toggleButton = visibleList.parentNode.nextElementSibling.querySelector('.main-menu-more-toggle'); Как я понимаю сейчас структура HTML кода меню не соответствует JS коду, в котором ошибка. Но как исправить не знаю. Подскажите пожалуйста! |
main-menu[id] - что за странное имя класса? Но даже если и есть такой, то по такому селектору элемент не получить, нужно экранировать квадратные скобки вот так:
var visibleList = container.parentNode.querySelector('.main-menu\\[id\\]'); А при вашем селекторе visibleList будет равен null со всеми вытекающими последствиями. |
Цитата:
maxg5, вам нужно проверять есть ли nextElementSibling, и только потом производить дальнейшие действия! var visibleList = container.parentNode.querySelector('.main-menu[id]'); var sibling = visibleList.parentNode.nextElementSibling; if(!sibling) return; // или что сделать, если нет такого? var hiddenList = sibling.querySelector('.hidden-links'); var toggleButton = sibling.querySelector('.main-menu-more-toggle'); if(!hiddenList || !toggleButton) return; // или что сделать, если нет такого? |
Цитата:
|
Часовой пояс GMT +3, время: 23:30. |