Criando e removendo elementos do DOM dinamicamente com JavaScript

Descubra como adicionar e remover elementos no DOM em tempo real, permitindo a criação de páginas web interativas e dinâmicas.

Como criar e remover elementos do DOM dinamicamente?

Uma das grandes vantagens do JavaScript no desenvolvimento de páginas web é a capacidade de manipular o DOM dinamicamente. Criar e remover elementos no DOM é fundamental para criar páginas interativas, como formulários, listas dinâmicas, ou atualizar o conteúdo de maneira flexível sem recarregar a página. Usando métodos como createElement, appendChild, e removeChild, você pode adicionar novos elementos ou remover os existentes da estrutura da página HTML.

Criando elementos com createElement()

O método createElement() é utilizado para criar novos elementos HTML dinamicamente. Esse método permite que você crie qualquer tipo de elemento HTML, como div, p, a, img, etc., e depois adicione esse elemento ao DOM.

Exemplo de código com createElement():

let novoParagrafo = document.createElement('p');
novoParagrafo.textContent = 'Este é um parágrafo criado dinamicamente!';
document.body.appendChild(novoParagrafo);

Neste exemplo, createElement('p') cria um novo parágrafo, e textContent define o conteúdo do parágrafo. Por fim, appendChild(novoParagrafo) adiciona o novo parágrafo ao final do corpo da página (document.body).

Características do createElement()

  • Cria elementos HTML: Você pode usar createElement() para criar qualquer tipo de elemento HTML, como <div>, <span>, ou até mesmo elementos complexos como formulários.
  • Não adiciona diretamente ao DOM: Após criar um elemento, ele precisa ser adicionado ao DOM usando métodos como appendChild().

Adicionando elementos ao DOM com appendChild()

Após criar um novo elemento com createElement(), o próximo passo é adicioná-lo ao DOM. Para isso, usamos o método appendChild(), que adiciona um nó (elemento) como filho de um outro nó existente no DOM.

Exemplo de código com appendChild():

let lista = document.getElementById('minhaLista');
let novoItem = document.createElement('li');
novoItem.textContent = 'Novo item na lista';
lista.appendChild(novoItem);

Aqui, appendChild() adiciona um novo item de lista (<li>) ao final de uma lista existente (<ul> ou <ol>) com o id="minhaLista". Esse método é muito útil para criar e adicionar novos elementos dinamicamente.

Características do appendChild()

  • Adiciona elementos ao final: O método sempre adiciona o novo elemento como o último filho do elemento selecionado.
  • Pode ser usado para qualquer tipo de nó: Não se limita apenas a elementos, também pode ser usado para adicionar textos ou outros nós do DOM.

Removendo elementos com removeChild()

O método removeChild() é utilizado para remover um nó filho de um elemento existente. Esse método permite que você remova qualquer elemento da página que tenha sido previamente adicionado ao DOM.

Exemplo de código com removeChild():

let lista = document.getElementById('minhaLista');
let itemRemover = document.getElementById('itemExcluir');
lista.removeChild(itemRemover);

Aqui, removeChild() remove o item da lista com o id="itemExcluir" da lista com o id="minhaLista". Esse método é útil quando você precisa remover elementos de uma página em resposta a interações do usuário.

Características do removeChild()

  • Remove um nó filho: Só pode remover elementos que já existem no DOM.
  • Requer o nó pai: Para usar removeChild(), você precisa acessar o nó pai do elemento que deseja remover.

Comparando appendChild() e removeChild()

Método O que faz Exemplo de uso
appendChild() Adiciona um nó filho a um elemento existente document.body.appendChild(novoElemento);
removeChild() Remove um nó filho de um elemento existente elemento.removeChild(novoElemento);

Quando usar createElement(), appendChild() e removeChild()?

  • Use createElement() quando precisar criar um novo elemento HTML para adicionar ao DOM.
  • Use appendChild() quando quiser adicionar um novo elemento ao final de um nó pai no DOM.
  • Use removeChild() quando precisar remover um elemento já existente do DOM.

Exemplo prático de criação e remoção de elementos

Aqui está um exemplo que mostra como criar e remover elementos dinamicamente:

let lista = document.getElementById('minhaLista');

// Criando e adicionando um novo item de lista
let novoItem = document.createElement('li');
novoItem.textContent = 'Novo item';
lista.appendChild(novoItem);

// Removendo o primeiro item da lista
let itemParaRemover = lista.firstChild;
lista.removeChild(itemParaRemover);

Neste exemplo, um novo item de lista é criado e adicionado ao final de uma lista existente. Em seguida, o primeiro item da lista é removido.

Conclusão

Criar e remover elementos dinamicamente no DOM é uma habilidade essencial para desenvolver interfaces interativas. Usando os métodos createElement(), appendChild(), e removeChild(), você pode facilmente adicionar e remover conteúdo da página em tempo real, tornando sua aplicação mais dinâmica e responsiva às interações do usuário.

A manipulação de elementos no DOM é uma das bases do desenvolvimento de aplicações web interativas. Criar e remover elementos dinamicamente pode ser feito facilmente usando métodos como createElement() e appendChild(). Essas ferramentas tornam possível modificar a estrutura de uma página em tempo real, sem a necessidade de recarregar a página. A compreensão dessas funções é fundamental para a construção de interfaces de usuário que respondem de maneira dinâmica às ações do usuário.

Algumas aplicações:

  • Adicionar elementos como botões, listas ou formulários em tempo real, sem precisar recarregar a página.
  • Remover itens de listas, comentários ou conteúdos dinâmicos conforme a interação do usuário.
  • Construir interfaces dinâmicas e interativas, como sistemas de mensagens ou feeds de dados atualizados.
  • Gerenciar conteúdo exibido, como resultados de buscas ou informações de produtos em páginas de e-commerce.

Dicas para quem está começando

  • Pratique a criação e remoção de elementos usando createElement() e appendChild() para entender como manipular o DOM.
  • Quando precisar remover um elemento, sempre se certifique de que você está selecionando corretamente o nó pai usando removeChild().
  • Experimente criar novas seções ou componentes, como painéis de navegação ou rodapés dinâmicos, para melhorar a interatividade da sua página.
  • Se possível, combine a criação de elementos com eventos, como botões de adicionar ou remover, para criar interações mais ricas.

Contribuições de João Gutierrez

Compartilhe este tutorial: Como criar e remover elementos do DOM dinamicamente?

Compartilhe este tutorial

Continue aprendendo:

Como modificar atributos de elementos (setAttribute, getAttribute)?

Descubra como manipular os atributos de elementos HTML, como `id`, `class`, `src`, e outros, usando `setAttribute` e `getAttribute` em JavaScript.

Tutorial anterior

Como manipular estilos CSS via JavaScript?

Descubra como modificar estilos CSS de elementos HTML em tempo real com JavaScript, alterando cores, tamanhos, fontes e muito mais.

Próximo tutorial