programandoai

Selecionando e mudando elementos

Até aqui, nosso código conversava com o console. Agora ele vai colocar a mão na página: ler, mudar e pintar os elementos que o usuário vê.

Estudar esta lição interativa →

Lembra da primeira lição do curso, das três camadas? O HTML monta a estrutura, o CSS veste e o JavaScript age. Pois chegou a hora de agir. Tudo o que fizemos até agora viveu no console; mas o JavaScript nasceu para mexer na página: trocar um texto quando o usuário clica, pintar um aviso de vermelho, mostrar e esconder pedaços da tela. Para isso, ele precisa de um jeito de "enxergar" a página, e esse jeito tem nome: o DOM.

DOM é a sigla de Document Object Model. Quando o navegador carrega um HTML, ele monta na memória um mapa vivo da página, em forma de árvore: o documento contém o corpo, o corpo contém os títulos, parágrafos e botões, e assim por diante. O JavaScript não mexe no arquivo HTML; ele mexe nessa árvore, e cada mudança aparece na tela na mesma hora.

O DOM é a página vista como uma árvore de objetos: o document contém o body, que contém os elementos. É nessa árvore que o JavaScript navega e mexe.

A porta de entrada dessa árvore é um objeto que o navegador te dá pronto: o document, que representa a página inteira. E o primeiro passo de quase toda interação é selecionar o elemento com que você quer trabalhar. A ferramenta principal é o document.querySelector(), que se lê com aquele ponto que você já domina: "documento, procure este elemento para mim". Dentro dos parênteses vai o alvo, escrito num formatinho novo: "#titulo", em que a cerquilha # significa "procure pelo id", aquele nome único que se dá a um elemento no HTML. (É a sintaxe dos seletores do CSS, os mesmos que você usa para estilizar a página.)

Elemento na mão, é só mexer: .textContent troca o texto de dentro dele, e .style ajusta a aparência. No editor abaixo tem HTML e JavaScript juntos, e o resultado é um mini-site de verdade renderizado logo abaixo do código. Rode e repare: o HTML dizia "Texto original", mas não é isso que aparece, porque o JavaScript mexeu na árvore antes de você ver:

🧩 Este conteúdo é interativo — abra no app para ver e rodar de verdade. O resultado renderizado aparece abaixo do código.

O texto de dentro

.textContent

Lê ou troca o texto do elemento. Atribuiu, mudou na tela.

A aparência

.style

Ajusta o visual: .style.color muda a cor, .style.fontSize o tamanho, e por aí vai.

O que foi digitado

.value

Em campos de texto (input), guarda o que o usuário digitou. Você vai usá-lo já na próxima lição.

Duas formas de selecionar

Você vai esbarrar também no getElementById("titulo"), que faz o mesmo que querySelector("#titulo"), só que recebe o id sem a cerquilha. As duas formas são comuns em código real e dão o mesmo resultado; o querySelector é mais versátil (aceita qualquer seletor do CSS), então é o que mais usaremos por aqui.

🧩 Este conteúdo é interativo — abra no app para ver e rodar de verdade. Complete o código e clique em Rodar.

← Voltar ao índice do curso