Porque usar getElementById se o id está no window?

Na verdade, o id não está diretamente associado ao objeto window. O window é um objeto global no navegador que representa a janela atual, mas não tem uma propriedade para acessar elementos de uma página.

No entanto, o método getElementById é uma função definida no objeto document, que representa o documento HTML atual carregado no navegador. Ao chamar getElementById, você está referenciando um elemento específico dentro desse documento pelo seu id.

A função getElementById usa o id fornecido como argumento para pesquisar e retornar o elemento correspondente no documento. Portanto, ele não faz parte do objeto window, mas sim do objeto document.

Por exemplo, se você tem um elemento com o id “myElement”, você pode acessá-lo da seguinte maneira:

var element = document.getElementById("myElement");

O element agora é um objeto que representa o elemento HTML com o id “myElement” no documento atual. A partir desse objeto, você pode manipular propriedades, adicionar ou remover classes, adicionar eventos e assim por diante.

Em resumo, o getElementById é uma função disponível no objeto document e é usada para acessar elementos HTML específicos por meio de seu id único, e não está relacionada diretamente ao objeto window.