Ответ 1
jQuery - это просто Javascript, поэтому на самом деле вопрос: "Можно ли запустить JavaScript до того, как DOM готов", и с этим я предполагаю, что вы имеете в виду документ, а не DOM.
Если мы сможем согласиться с тем, что вопрос: "Можно ли запустить JavaScript до того, как документ будет готов". Тогда ответ "да". JavaScript будет выполняться при обнаружении.
Вот почему вы почти всегда видите либо $(function(){...})
, либо $(document).ready(function(){...})
, потому что для большинства jQuery-кода требуется, чтобы документ был готов, но код, прикрепленный к обработчику событий, безусловно, выполняется до того, как документ будет готов (иначе он не сможет для обработки события готовности документа).
Обычно вы должны разместить свой Javascript в нижней части вашего HTML-кода, но если вы хотите, чтобы он был выполнен ранее, вы можете просто разместить его раньше в документе, например. в заголовке.
<html>
<head>
...
<script>
//place your code to be executed early here
</script>
</head>
...
</html>