Conteúdo do curso
Módulo 2: Trabalhando com Elementos e Atributos
0/2
Módulo 3: Manipulação de Estilos e Classes
0/2
Módulo 5: Navegação e Manipulação Avançada
0/2
Do Básico ao Avançado: Curso Completo de Manipulação de DOM
Sobre a Aula

Manipulação Avançada de DOM

Agora que compreendemos como navegar pelos elementos do DOM, vamos dar um passo adiante e explorar técnicas avançadas de manipulação do DOM. Essas técnicas são fundamentais para criar interfaces interativas e dinâmicas. Vamos mergulhar!

Clonagem de Elementos

Às vezes, queremos duplicar um elemento existente. Podemos fazer isso usando a função cloneNode. Isso cria uma cópia do elemento, incluindo todos os seus atributos e nós filhos. Vejamos um exemplo:

var original = document.getElementById('elementoOriginal');
var clone = original.cloneNode(true); // O argumento 'true' indica a cópia dos nós filhos

// Agora, podemos adicionar o clone a algum lugar no DOM
document.body.appendChild(clone);

Remoção de Elementos

Para remover um elemento do DOM, usamos a função remove. Por exemplo:

var elementoParaRemover = document.getElementById('elementoARemover');
elementoParaRemover.remove();

Inserção Dinâmica de Elementos

Podemos adicionar novos elementos dinamicamente usando métodos como createElement e appendChild. Vamos criar um novo item para adicionar à nossa lista de tarefas:

var novaTarefa = document.createElement('li');
novaTarefa.textContent = 'Praticar JavaScript Avançado';

var listaTarefas = document.getElementById('listaTarefas');
listaTarefas.appendChild(novaTarefa);

Substituição de Elementos

Às vezes, queremos substituir um elemento por outro. Podemos fazer isso combinando os métodos de remoção e inserção:

var novoElemento = document.createElement('p');
novoElemento.textContent = 'Este é um novo parágrafo';

var elementoExistente = document.getElementById('elementoExistente');
elementoExistente.parentNode.replaceChild(novoElemento, elementoExistente);

Um exemplo para melhor a compreensão

Vamos consolidar nossa compreensão sobre a manipulação avançada do DOM com um exemplo prático. Suponha que tenhamos a seguinte estrutura HTML:

HTML

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Exemplo de Manipulação Avançada de DOM</title>
</head>
<body>

<ul id="listaTarefas">
  <li id="tarefa1">Estudar HTML</li>
  <li id="tarefa2">Praticar CSS</li>
  <li id="tarefa3">Explorar JavaScript</li>
</ul>

<button onclick="adicionarTarefa()">Adicionar Nova Tarefa</button>
<button onclick="removerTarefa()">Remover Última Tarefa</button>

<script src="script.js"></script>
</body>
</html>

JavaScript

// Função para adicionar uma nova tarefa à lista
function adicionarTarefa() {
  var listaTarefas = document.getElementById('listaTarefas');
  var novaTarefa = document.createElement('li');
  novaTarefa.textContent = 'Nova Tarefa';
  listaTarefas.appendChild(novaTarefa);
}

// Função para remover a última tarefa da lista
function removerTarefa() {
  var listaTarefas = document.getElementById('listaTarefas');
  var ultimaTarefa = listaTarefas.lastElementChild;
  
  if (ultimaTarefa) {
    ultimaTarefa.remove();
  }
}

Saída do código

Exemplo de Manipulação Avançada de DOM
  • Estudar HTML
  • Praticar CSS
  • Explorar JavaScript

Neste exemplo, temos uma lista de tarefas e dois botões. Ao clicar no botão “Adicionar Nova Tarefa”, uma nova tarefa é adicionada à lista dinamicamente. Ao clicar no botão “Remover Última Tarefa”, a última tarefa é removida, caso exista.

As técnicas avançadas de manipulação do DOM são essenciais para criar interfaces web dinâmicas e interativas. Elas nos permitem controlar a estrutura do documento com mais precisão e criar experiências mais envolventes para o usuário.

Para aprimorar sua compreensão dessas técnicas, experimente cada uma delas. Você pode começar com exemplos simples e depois avançar para exemplos mais complexos.

No próximo módulo, vamos explorar boas práticas e otimizações para garantir que nossas aplicações sejam eficientes e mantenham um código limpo. Isso é importante para garantir que suas aplicações sejam rápidas e responsivas, e para facilitar a manutenção do código.

Entrar na conversa
Rolar para cima