Делаю сайт, программа правильная, но выдает ошибку, в чем проблема?
const model = [ {type: 'title', value: 'helloy world from js'}, {type: 'text', value: 'here we go wi'}, {type: 'columns', value: [ '11111111', '22222222', '333333333', ]} ] const $site = document.querySelector( '#sete' ); model.forEach(block => { let html = '' if (block.type === 'title') { html =` <div class="row"> <div class="col-sm"> <h1>${block.value}</h1> </div> </div> ` }else if (block.type === 'text') { html = ` <div class="row"> <div class="col-sm"> <p>$(block.value)</p> </div> </div> ` }else if (block.type === 'columns') { } $site.insertAdjacentHTML('beforebegin', html); }) |
const model = [ {type: 'title', value: 'helloy world from js'}, {type: 'text', value: 'here we go wi'}, {type: 'columns', value: [ '11111111', '22222222', '333333333', ]} ] const $site = document.querySelector( '#sete' ); model.forEach(block => { let html = '' if (block.type === 'title') { html =` <div class="row"> <div class="col-sm"> <h1>${block.value}</h1> </div> </div> ` }else if (block.type === 'text') { html = ` <div class="row"> <div class="col-sm"> <p>$(block.value)</p> </div> </div> ` }else if (block.type === 'columns') { } $site.insertAdjacentHTML('beforebegin', html); })
Ошибка такая;
index.js:35 Uncaught TypeError: Cannot read properties of null (reading 'insertAdjacentHTML') at index.js at Array.forEach (<anonymous>) at |
index.js:35 Uncaught TypeError: Cannot read properties of null (reading 'insertAdjacentHTML') at index.js at Array.forEach (<anonymous>) at
Дополнительно:
Cannot read properties of null (reading 'insertAdjacentHTML')
Что из этого непонятно? Вам перевести помочь?
программа правильная
но выдает ошибку
Значит "неправильная".
злые вы тут все
переменная $site = null.
такое происходит когда querySelector не нашёл в разметке ничего подходящего.
Либо опечатка в селекторе, либо элемент, который вы через селектор ищите - подгружается диинамически и позже описанного кода, соответтсвенно, на момент его выполнения в разметке такого элемента нет.
Ответы:
Если "правильный" код работает "неправильно", то он вызывается в "неправильное время".
Вот для начала https://habr.com/ru/companies/yandex/articles/718084/
От себя скажу упрощенно.
Страница это обычно куча подключаемых файлов. Броузер дотягивает их в 5 потоков.
У вас может все нормально работать при первой загрузке страницы, а при возврате падать в ошибку.
Тут проявляется работа кеша. Код из выше подключенного скрипта успевал отработать пока грузился следующий.
И бонус. Синтаксическая ошибка в каком то левом месте может аукнуться не работой всего остального кода.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для того чтобы понять, в чем проблема с вашим сайтом и программой, выдаваемой ошибкой, необходимо провести детальный анализ кода и окружения, в котором работает ваш веб-сайт. Вот несколько шагов, которые помогут вам выявить и исправить ошибку:
1. Проверьте логи ошибок: Один из первых шагов - это проверить логи ошибок вашего сервера. Обычно они находятся в специальных файлах журналов на сервере (например, error_log). Проверьте эти файлы на наличие сообщений об ошибках и предупреждений, которые могут помочь вам понять, что именно пошло не так.
2. Проверьте код: Проанализируйте код вашей программы и убедитесь, что он правильно написан. Убедитесь, что все скобки, точки с запятой, кавычки и другие элементы синтаксиса написаны правильно. Особое внимание обратите на строки кода, которые выделяются в сообщении об ошибке.
// Пример кода на PHP// Пример кода на PHP
3. Проверьте окружение: Убедитесь, что ваш веб-сайт работает в правильном окружении. Проверьте версии PHP, MySQL, Apache и других компонентов вашего сервера. Некоторые ошибки могут возникать из-за несовместимости версий или конфигурации.
4. Используйте отладчики: Используйте отладчики, такие как xdebug, для пошагового выполнения кода и выявления проблемных участков. Они помогут вам увидеть, что именно происходит во время выполнения программы.
5. Обратитесь за помощью: Если вы не можете найти причину ошибки самостоятельно, обратитесь за помощью к сообществу разработчиков. Вы можете задать вопрос на форумах, в социальных сетях или на специализированных сайтах, чтобы получить помощь от опытных специалистов.
Надеюсь, эти советы помогут вам найти и исправить ошибку на вашем веб-сайте. Удачи!