Событие DOMContentLoaded происходит, когда браузер разобрал HTML-страницу и составил DOM-дерево. Если нужно, чтобы страница обязательно загрузилась полностью, лучше присмотреться к load.



Чтобы показать пользователю страницу, браузер делает следующие первые шаги:

✓ запрашивает HTML-страницу с сервера;

✓ обрабатывает полученный HTML и создаёт DOM для взаимодействия между JavaScript и HTML (☝️ в конце этого этапа происходит событие  DOMContentLoaded).



Событие DOMContentLoaded происходит раньше события load и гарантирует, что DOM готов. Можно искать по нему узлы и не бояться, что что-то не догрузилось (кроме стилей, картинок и так далее).