💻 JAVASCRIPT • DOM

DOM do JavaScript Document Object Model

Entenda como o JavaScript enxerga uma página HTML, como selecionar elementos, alterar conteúdos, criar componentes e responder às ações do usuário. Nesta aula você vai aprender a controlar a página através do DOM.

08 Etapas
25+ Exemplos
DOM JavaScript
🌳

O que você vai aprender?

Nesta aula você vai entender como o JavaScript consegue enxergar e modificar uma página HTML depois que ela foi carregada pelo navegador.

O responsável por criar essa ponte entre o HTML e o JavaScript é o DOM — Document Object Model.

💡 Ideia principal: o navegador transforma o documento HTML em uma estrutura de objetos que o JavaScript consegue acessar e manipular.

Acompanhe sua evolução

Conclua cada etapa para liberar a próxima.

0%
1
2
3
4
5
6
7
8
01
FUNDAMENTOS

O que é o DOM?

Entendendo como o navegador representa uma página HTML.

DOM significa Document Object Model, ou Modelo de Objetos do Documento.

Quando o navegador recebe um arquivo HTML, ele interpreta as tags e cria uma estrutura hierárquica de objetos.

O JavaScript utiliza essa estrutura para localizar elementos, alterar conteúdos, modificar estilos, adicionar classes, responder a eventos e até criar novos elementos.

HTML Estrutura da página
→
DOM Árvore de objetos
→
JavaScript Manipula os objetos

Imagine uma árvore

Uma maneira simples de compreender o DOM é imaginar uma árvore genealógica.

O elemento <html> está no topo. Dentro dele existem <head>, <body> e outros elementos.

REPRESENTAÇÃO ● DOM
document
│
└── html
    │
    ├── head
    │
    └── body
        │
        ├── h1
        │
        ├── p
        │
        └── button
💡 Importante: DOM não é uma linguagem de programação. É uma representação estruturada do documento que permite ao JavaScript trabalhar com a página.
Etapa 1 de 8
02
SELECIONANDO ELEMENTOS

Encontrando elementos no DOM

Como o JavaScript localiza elementos HTML.

Antes de modificar um elemento HTML precisamos conseguir encontrá-lo.

O JavaScript oferece diversos métodos para fazer isso. Nesta etapa vamos conhecer alguns dos mais importantes.

getElementById() Localiza um elemento pelo atributo ID.
querySelector() Localiza o primeiro elemento que corresponde ao seletor.
querySelectorAll() Localiza todos os elementos correspondentes.

2.1 getElementById()

Suponha que exista este elemento:

HTML HTML
<h1 id="titulo">
  Olá, aluno!
</h1>

Podemos encontrar esse elemento utilizando:

JAVASCRIPT JS
const titulo =
  document.getElementById("titulo");
🔎 O método recebe exatamente o valor do atributo id.

2.2 querySelector()

O querySelector() permite utilizar seletores CSS.

JAVASCRIPT JS
const titulo =
  document.querySelector("#titulo");

Também podemos procurar por classes:

JAVASCRIPT JS
const caixa =
  document.querySelector(".caixa");

2.3 querySelectorAll()

Quando precisamos selecionar vários elementos podemos utilizar:

JAVASCRIPT JS
const itens =
  document.querySelectorAll(".item");
🧪 Demonstração

Item 1

Item 2

Item 3

Resultado aparecerá aqui.
Etapa 2 de 8
03
ALTERANDO CONTEÚDO

textContent e innerHTML

Modificando o conteúdo dos elementos.

Depois de encontrar um elemento, podemos alterar aquilo que ele apresenta para o usuário.

Duas propriedades muito importantes são textContent e innerHTML.

textContent

Trabalha com texto.

elemento.textContent =
  "Novo texto";

innerHTML

Permite inserir HTML.

elemento.innerHTML =
  "<strong>Olá!</strong>";

Exemplo prático

HTML HTML
<p id="mensagem">
  Texto original
</p>
JAVASCRIPT JS
const mensagem =
  document.getElementById("mensagem");

mensagem.textContent =
  "Texto alterado pelo JavaScript";
🧪 Teste você mesmo

Este texto será alterado.

⚠️ Atenção: innerHTML deve ser utilizado com cuidado quando o conteúdo vier de usuários ou de fontes externas.
Etapa 3 de 8
04
CLASSES E ESTILOS

classList e manipulação visual

Alterando classes CSS através do JavaScript.

O JavaScript também pode modificar a aparência dos elementos através da manipulação de classes CSS.

Para isso, uma das ferramentas mais importantes é:

elemento.classList
Método Função
classList.add() Adiciona uma classe.
classList.remove() Remove uma classe.
classList.toggle() Adiciona ou remove uma classe.
classList.contains() Verifica se a classe existe.

Exemplo

JAVASCRIPT JS
const caixa =
  document.querySelector(".caixa");

caixa.classList.add("ativo");

caixa.classList.remove("ativo");

caixa.classList.toggle("ativo");
🧪 Demonstração do toggle()
Esta caixa será modificada.
💡 O toggle() é muito utilizado para menus, temas, abas, botões, modais e componentes interativos.
Etapa 4 de 8
05
EVENTOS

Eventos e addEventListener()

Fazendo a página reagir às ações do usuário.

Uma página web deixa de ser apenas estática quando consegue responder às ações do usuário.

Clique, teclado, movimento do mouse, envio de formulário e várias outras ações podem gerar eventos.

click Usuário clicou em um elemento.
input O valor de um campo foi alterado.
submit Um formulário foi enviado.

Forma recomendada

JAVASCRIPT JS
const botao =
  document.querySelector("#botao");

botao.addEventListener(
  "click",
  function() {

    console.log("Botão clicado!");

  }
);

Podemos também utilizar uma arrow function:

JAVASCRIPT JS
botao.addEventListener(
  "click",
  () => {

    console.log("Clique!");

  }
);

Event object

O navegador fornece informações sobre o evento através do objeto event.

JAVASCRIPT JS
botao.addEventListener(
  "click",
  (event) => {

    console.log(event);

  }
);
🧪 Clique no botão
Nenhum clique realizado ainda.
Etapa 5 de 8
06
CRIANDO ELEMENTOS

Criar, inserir e remover elementos

Construindo partes da página dinamicamente.

O DOM não serve apenas para alterar elementos que já existem.

O JavaScript também consegue criar novos elementos HTML, inserir esses elementos na página e removê-los.

document.createElement()

JAVASCRIPT JS
const novoParagrafo =
  document.createElement("p");

novoParagrafo.textContent =
  "Novo elemento criado!";

appendChild()

Depois de criar o elemento precisamos inseri-lo em algum elemento existente.

JAVASCRIPT JS
const lista =
  document.querySelector("#lista");

const item =
  document.createElement("li");

item.textContent =
  "Novo item";

lista.appendChild(item);

remove()

Um elemento também pode ser removido do documento:

JAVASCRIPT JS
const elemento =
  document.querySelector("#elemento");

elemento.remove();
🧪 Laboratório de criação
Elemento inicial
🧠 Pense no DOM como uma árvore que pode ser consultada, modificada, expandida e reduzida pelo JavaScript.
Etapa 6 de 8
07
APLICAÇÃO PRÁTICA

DOM em um pequeno sistema

Juntando seleção, conteúdo, eventos e criação de elementos.

Agora vamos pensar como um desenvolvedor.

Imagine um sistema de tarefas onde o usuário digita uma tarefa e clica em Adicionar.

O JavaScript precisa:

  1. Encontrar o campo.
  2. Capturar o texto.
  3. Criar um novo elemento.
  4. Colocar o texto dentro dele.
  5. Inserir o elemento na lista.
  6. Limpar o campo.
HTML HTML
<input
  id="tarefa"
  type="text"
  placeholder="Digite uma tarefa"
>

<button id="adicionar">
  Adicionar
</button>

<ul id="lista"></ul>
JAVASCRIPT JS
const campo =
  document.querySelector("#tarefa");

const botao =
  document.querySelector("#adicionar");

const lista =
  document.querySelector("#lista");

botao.addEventListener(
  "click",
  () => {

    if (campo.value.trim() === "") {
      return;
    }

    const item =
      document.createElement("li");

    item.textContent =
      campo.value;

    lista.appendChild(item);

    campo.value = "";

  }
);
🧪 Mini laboratório — Lista de tarefas
    Etapa 7 de 8
    08
    REVISÃO

    Revisão geral do DOM

    Consolidando os principais conceitos da aula.

    O DOM é uma das partes mais importantes do JavaScript quando trabalhamos com páginas web.

    Ele permite transformar uma página estática em uma interface dinâmica e interativa.

    🌳 Document Object Model
    🔎 Selecionar elementos
    ✏️ Alterar conteúdo
    🎨 Alterar classes
    🖱️ Trabalhar com eventos
    ➕ Criar elementos
    🗑️ Remover elementos
    🧩 Construir interfaces

    Os principais comandos

    GUIA RÁPIDO JS
    // Selecionar
    document.getElementById("id");
    
    document.querySelector(".classe");
    
    document.querySelectorAll(".item");
    
    
    // Alterar texto
    elemento.textContent = "Novo texto";
    
    
    // Inserir HTML
    elemento.innerHTML = "<strong>Texto</strong>";
    
    
    // Classes
    elemento.classList.add("ativo");
    
    elemento.classList.remove("ativo");
    
    elemento.classList.toggle("ativo");
    
    
    // Eventos
    elemento.addEventListener(
      "click",
      () => {}
    );
    
    
    // Criar
    const novo =
      document.createElement("div");
    
    
    // Inserir
    pai.appendChild(novo);
    
    
    // Remover
    elemento.remove();
    🎯

    Você chegou ao final da parte teórica!

    Agora é hora de testar seus conhecimentos, concluir o desafio e aplicar DOM em um projeto.

    Etapa 8 de 8
    📝
    FIXAÇÃO

    Exercícios de fixação

    Verifique se você realmente compreendeu o DOM.

    Questão 1

    O que significa DOM?

    A) Data Object Manager B) Document Object Model C) Development Object Method D) Digital Object Manager
    Questão 2

    Qual método seleciona um elemento pelo ID?

    A) getElementById() B) getElement() C) findById() D) selectId()
    Questão 3

    Qual propriedade altera apenas o conteúdo textual de um elemento?

    A) innerHTML B) textContent C) textHTML D) contentHTML
    Questão 4

    Qual método adiciona uma classe?

    A) classList.add() B) class.add() C) addClassName() D) className.add()
    Questão 5

    Qual método é utilizado para registrar um evento?

    A) addEventListener() B) registerEvent() C) eventAdd() D) listenEvent()
    DESAFIO

    Construa uma Lista de Alunos

    Crie uma pequena aplicação utilizando DOM. O usuário deverá informar o nome de um aluno e clicar em um botão para adicioná-lo à lista.

    Conhecimentos necessários
    • querySelector()
    • value
    • createElement()
    • textContent
    • appendChild()
    • addEventListener()
    Objetivo
    • Manipular o DOM.
    • Trabalhar com eventos.
    • Criar elementos.
    • Atualizar a interface.
    • Pensar na lógica da aplicação.
    PROJETO FINAL

    Sistema Interativo com DOM

    Desenvolva uma pequena interface utilizando HTML, CSS e JavaScript. O objetivo é demonstrar que você compreendeu como o DOM permite controlar uma página através de código.

    01 Cadastro Campo para inserir informações.
    02 Lista Elementos criados dinamicamente.
    03 Eventos Botões respondendo ao usuário.
    04 Classes Alterações visuais com classList.
    05 Remoção Excluir elementos da interface.
    06 DOM Utilizar JavaScript para controlar tudo.
    🎯 Objetivo pedagógico: demonstrar domínio dos conceitos de seleção, manipulação, eventos, criação e remoção de elementos através do DOM.
    🏆

    Aula concluída!

    Você estudou como o JavaScript pode acessar e manipular elementos HTML através do DOM.

    Continue praticando. A melhor maneira de aprender DOM é criar pequenas interfaces e observar o que acontece quando cada comando é executado.

    ✓ Código copiado!