Разница между getElementById и getElementsByClassName при изменении стиля заключается в том, что первый возвращает один элемент, а второй — коллекцию элементов. 23
getElementById возвращает элемент, у которого есть уникальный ID. 1 Если несколько узлов HTML имеют одинаковый ID, то метод возвращает первый из них. 1 Изменения стиля можно применять непосредственно к объекту, который возвращает функция getElementById, так как она возвращает объект, а не массив. 1
getElementsByClassName ищет во всём документе HTML и возвращает массив всех элементов с указанным классом. 1 Этот метод можно использовать, чтобы найти подэлементы с указанным именем класса CSS. 1 Для изменения стиля необходимо перебрать каждый элемент в массиве. 3
Таким образом, getElementById подходит для работы с уникальными элементами, а getElementsByClassName — для поиска и работы с элементами, имеющими определённые классы.