Уясните, как работает браузер.
Он начинает читать текст сверху вниз.
Если он встречает теги html, то он строит дерево dom.
Если встречает link, то загружает его и строит таблицы стилей.
Если встречает <style src=...>, то загружает файл и выполняет его
Если встречает <style>... </style>, то просто выполняет его.
Все строго сверху вниз.
Когда все построено, и скрипты загружены и выполнены, возникает событие 'DOMContentLoaded'. Именно по нему работает функция jquery().ready().
Но, что бы вызвать эту функцию браузер должен знать, что она вообще существует, и как ее выполнять.
Эта функция описана в библиотеки jquery, которую вы вызываете где то в конце
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
До того, как этот файл загрузится и отработает, браузер понятия не имеет, что существует какая то там функция jQuery (или $()).
И любое обращение к ним вызовет ошибку.
По мне, так это дурацкое занятие, размещать скрипты в теле html.
Все скрипты в head.
Те, которые должны вызываться после загрузки - в обработчик DOMContentLoaded
Я не нашел там prd вообще. Ничего не могу сказать.
Последний раз редактировалось voraa, 24.02.2020 в 18:03.
|