Почему выдает фатальную ошибку js?

5e58016ab156e595379536.png

Привет! Помогите, пожалуйста, понять! почему выдается красное подчеркивание? :((

и почему подчеркивает красным?

спасибо...

получается, что этот скрипт подкручен на страницу каталога, а на главной нету такого айди. и вот на главной выдает ошибку с текстом:

Uncaught TypeError: Cannot set property 'onclick' of null
at HTMLDocument. (page_custom.js:30)
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
Seasle
@Seasle Куратор тега JavaScript
Выключай/удаляй JSHint/JSLint, ставь ESLint.

UPD:
Чтобы избежать данной ошибки, можно обернуть элемент в проверку:
const sortAscButton = document.querySelector('#sort-asc');
const sortDescButton = document.querySelector('#sort-desc');

if (sortAscButton) {
    sortAscButton.addEventListener('click', event => {
        event.preventDefault();
        mySort('data-price');
    });
}

if (sortDescButton) {
    sortDescButton.addEventListener('click', event => {
        event.preventDefault();
        mySortDesc('data-price');
    });
}


ES5 вариант

var sortAscButton = document.querySelector('#sort-asc');
var sortDescButton = document.querySelector('#sort-desc');

if (sortAscButton) {
    sortAscButton.addEventListener('click', function (event) {
        event.preventDefault();
        mySort('data-price');
    });
}

if (sortDescButton) {
    sortDescButton.addEventListener('click', function (event) {
        event.preventDefault();
        mySortDesc('data-price');
    });
}

Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы