1
resposta

Não seria melhor atribuir uma UL vazia ao invés de excluir filho a filho?

Testei e funcionou,

import { conectaApi } from "./conectaApi.js";

import constroiCard from "./mostrarVideos.js";

async function buscarVideo(evento) {

    evento.preventDefault();

    const dadosDePesquisa = document.querySelector("[data-pesquisa]").value;

    const busca = await conectaApi.buscaVideo(dadosDePesquisa);

    const lista = document.querySelector("[data-lista]");

    lista.innerHTML = '';
        // Depois da lista vazia, irei inserir os elementos da lista que retornou com a busca.

    busca.forEach(elemento => lista.appendChild(constroiCard(elemento.titulo, elemento.descricao, elemento.url, elemento.imagem)));

}

const botaoDePesquisa = document.querySelector("[data-botao-pesquisa]");

botaoDePesquisa.addEventListener("click", evento => buscarVideo(evento));

Para ser mais otimizado logo determinar a UL vazia do que exclui filho a filho, pois usa menos recurso de memória e não precisa processar todo o loop para obter o resultado, imagina uma lista gigante.

Não sei se foi ensinado dessa maneira para aprender como excluir filho a filho ou se é melhor de alguma maneira.

1 resposta

Olá Diógenes, tudo bem?

Sim, você tem razão em relação ao uso de memória e processamento ao excluir filho a filho. No entanto, acredito que o motivo pelo qual foi ensinado a excluir filho a filho é para fins didáticos, para que você possa entender melhor como funciona a manipulação do DOM.

Mas, em termos de otimização, é realmente mais eficiente atribuir uma UL vazia ao invés de excluir filho a filho. Dessa forma, você evita o processamento desnecessário e economiza recursos de memória.

Espero ter ajudado e bons estudos!