В отдельном файле с расширением js или в самом html файле и почему ? Столкнулся с такой проблемой что управление стилями css с помощью JavaScript выдает ошибку. Допустим создаю div добавляю туда текст и хочу с помощью js сделать background красным но почему то пишет ошибку по типу style not reading . А когда начинаю писать js код в самом html файле то все срабатывает.
Всё зависит от того в каком месте скрипт подключается. Он должен быть подключен либо снизу от html-разметки (но в теге body), либо всё содержимое джаваскрипта должно быть помещено в событие window.onload () {...здесь код...}
Не зависимо от того является ли JS внешним файлом или внедрен в html-станицу напрямую
Тег с внешним скриптом должен быть помещён ПОСЛЕ искомого элемента (так же как в примере с HTML файлом) или должен присутствовать атрибут defer, чтобы скрипт выполнялся после загрузки страницы.