$ (document).ready() и инициализация jQuery в конце страницы

Позвольте мне понять это прямо. Согласно наилучшей практике, мы должны инициализировать jQuery в нижней части страницы. Если мы это сделаем, любая ссылка на объект jQuery (т.е. $ или jQuery) над ссылкой будет пустой. Однако, как и для $(document).ready(), причина, по которой эта функция jQuery когда-либо понадобится, - это когда вы хотите отложить выполнение функции после загрузки страницы. Это, кажется, конфликт.

Как использовать функциональность $(document).ready() в верхней части страницы и по-прежнему ссылаться на jQuery в нижней части страницы? Я думаю, что jQuery должен быть инициализирован в верхней части страницы именно по этой причине.

Ответ 1

Если вы собираетесь использовать свои сценарии в нижней части страницы для эффективности, а дополнительных элементов (кроме </body> and </html>) нет, вам даже не понадобится использовать $(document).ready(...);.

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

Если вы используете jQuery в прямом эфире, я бы предложил разместить его внизу страницы. Если вы используете jQuery с локальной связью, верхняя часть должна быть в порядке. Просто используйте минимальный код.

Ответ 2

Просто поставьте $(document).ready ниже, где вы инициализируете jQuery независимо от того, где это.

В действительности, хотя вы должны положить все свои JS внизу, даже $(document).ready.