8.7 - Personalizando o DOM na prática
🎛️ Aprofundando: Personalizando o DOM na Prática
🎛️ Aprofundando: Personalizando o DOM na Prática
Agora que você já sabe navegar pelo DOM e encontrar os elementos certos na página, vamos dar o próximo passo: aprender como personalizar esses elementos com JavaScript! 🚀
Isso com exemplos reais, dicas práticas e os cuidados que você deve tomar para não cair em erros comuns.
Vamos deixar sua página com a sua cara? 🎨💡
🔍 Acessando elementos da página
Primeiro passo: encontrar o que você quer modificar!
const titulo = document.querySelector("h1");
const paragrafo = document.getElementById("mensagem");Agora podemos fazer mágica com esses elementos! 🎩✨
🧾 Mudando o conteúdo (textos e HTML)
📝 Texto visível
paragrafo.textContent = "Texto novo!";💡 Inserir conteúdo com HTML
⚠️ Atenção:
innerHTMLexecuta HTML e pode causar problemas de segurança. Evite se estiver lidando com dados do usuário!
🧠 Lendo e alterando valores de inputs
🎨 Trabalhando com estilos
Você pode mudar o estilo de qualquer elemento como se estivesse usando CSS!
💡 Os nomes das propriedades CSS viram camelCase no JavaScript!
background-color
backgroundColor
font-size
fontSize
🔄 Alternando classes (estilos CSS)
💥 Exemplos com comportamento inesperado
❌ Esquecer de esperar a página carregar
✔️ Solução:
❌ Tentar mudar valor de um div
div✔️ Solução:
✅ Boas práticas
Use
textContentpara textos simples.Só use
innerHTMLse precisar adicionar HTML (e tiver certeza que é seguro).Prefira
.classListao invés de.className.Use estilos via CSS e apenas altere classes via JS quando possível.
Comente seu código! Isso ajuda você e outras pessoas.
🚫 Más práticas
Mudar estilos diretamente com
.stylepara tudo → deixa o código confusoUsar
innerHTMLcom entrada do usuário → riscos de segurançaMisturar muita lógica dentro do HTML (como
onclickdireto na tag)
🧠 Observação importante! Diferenças que confundem muita gente 👇
📝 textContent vs innerText
textContent vs innerTexttextContent
Mostra todo o texto, incluindo o escondido com CSS
Mais rápido, confiável para JS
innerText
Mostra só o texto visível na tela
Depende do estilo da página (ex: display: none)
💡 Use
textContentpara garantir que você sempre leia/escreva o texto bruto, sem interferência do estilo.
🔤 innerHTML vs innerText vs textContent
innerHTML vs innerText vs textContentinnerHTML→ inclui e interpreta HTML (ex:<strong>Olá</strong>)innerText→ só o texto visíveltextContent→ todo o texto interno, mesmo se não for visível
⚠️ Evite usar
innerHTMLcom conteúdo vindo do usuário! Pode abrir portas para ataques.
🏷️ classList vs className
classList vs classNameclassList
Permite adicionar, remover, alternar classes
✅ Seguro, moderno, mais flexível
className
Substitui todas as classes de uma vez
⚠️ Pode apagar classes existentes sem querer!
✅ Prefira
classListpara manipular estilos com segurança.
Essas diferenças são pequenas, mas fazem uma grande diferença quando seu código cresce! 🧩 Sempre que puder, teste no console do navegador para ver o comportamento real.
🧪 Experimento: botão que muda cor de fundo
🎉 Cada clique muda o fundo da página para uma cor aleatória!
🧠 Dicas extras para iniciantes
O DOM muda o conteúdo ao vivo, então é ótimo para interatividade!
Sempre cheque se o elemento existe antes de mexer nele.
Explore as ferramentas do navegador — use o console para testar ideias!
🔁 Recapitulando
Mudar texto
element.textContent = "..."
Inserir HTML
element.innerHTML = "..."
Ler input
input.value
Mudar input
input.value = "novo"
Mudar estilo
element.style.propriedade = "valor"
Alterar classe
element.classList.add/remove/toggle()
Atualizado


