Невозможно прочитать свойство "свойство" null

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

Если быть более точным, я сделал настраиваемый слайдер для своей домашней страницы. И этот слайдер существует только в index.html. И всякий раз, когда я перехожу на другие страницы, я получаю сообщение об ошибке «Uncaught TypeError: Cannot read property 'style' of null».

Теперь я знаю, в чем проблема, JS ищет определенный класс, а этого класса на этой странице нет. Итак, мой вопрос: как лучше всего решить эту проблему?

Могу ли я поместить его в цикл «for», и если да, то что мне делать в цикле?

Разместите свой HTML //

Ankit Agarwal 31.10.2018 13:59

Думаю, я был очень конкретен. По сути, это не проблема кода, а вопрос типа «как лучше всего действовать». Есть JS-код, который ищет определенный блок кода, которого нет на других страницах. Итак, у меня был вопрос: что делать в этой ситуации.

Вукашин Поповић 01.11.2018 16:08
0
2
1 010
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я бы добавил условие if для поиска ползунка и запускал код, только если он был найден.

Что-то вроде этого:

if(document.getElementById("slider") != null)
{
 //Do your stuff
}

Спасибо, я последовал твоему совету. И, конечно же, свое дело. 😊

Вукашин Поповић 01.11.2018 16:05

Самый простой способ справиться с этой проблемой - обернуть соответствующий блок кода в try catch, а затем обработать ошибку, как вы хотите.

Вы также можете заключить код, который пытается прочитать стиль, в блок if, чтобы проверить, существует ли элемент.

Это просто хорошие практики в вашем коде в целом при работе с вещами, которые потенциально неизвестны, но на самом деле лучше всего загружать только скрипт, который обрабатывает ползунок, когда вы находитесь на index.html, а не на других страницах.

Спасибо. Я ценю это предложение. Должен сказать, я еще не работал с "защелкой лотка", но сейчас обязательно посмотрю 😃

Вукашин Поповић 01.11.2018 16:07

Другие вопросы по теме