Uncaught TypeError: Cannot read property 'style' of null at (index):253

Сделал на сайте панель, которая должна открываться после ввода с клавиатуры слова, после того как через document.getElementById задал стиль отображения (для временного форума - display: none), но в итоге выводило ошибку.

Код:

<script>
        let highwest = '';
        $(window).keypress((event) => {
            // Если нажата кнопка х
            if (!highwest && [91, 1093].includes(event.keyCode)) {
                highwest = 'х';
                // Если нажата кнопка e или у
            } else if (highwest == 'х' && [101, 1091].includes(event.keyCode)) {
                highwest += 'у';
                // Если нажата кнопка q или й
            } else if (highwest == 'ху' && [113, 1081].includes(event.keyCode)) {
                highwest += 'й';
                document.getElementById('nav-links').style.display = none;
                highwest = '';
            } 
        });
    </script>

Ответы (1 шт):

Автор решения: Zhihar

Javascript не знает, что такое none, поэтому значение свойства надо передать как строку

document.getElementById('nav-links').style.display = 'none';

в противном случае будет ошибка:

test.html:23 Uncaught ReferenceError: none is not defined

Хотя у вас другая ошибка и как гипотеза:

а существует ли элемент nav-links к моменту когда отрабатывается/формируется скрипт?

попробуйте его себе вывести

let obj = document.getElementById('nav-links');
console.log(obj);

что выдаст?

→ Ссылка