1
resposta

createElement + apendChild ou Tbody+innerHtml

Qual o mais correto?

Criar elementos HTML com createElement e utilizar o appendChild ou capturar a tag <tbody> do html e usar o innerHtml conforme abaixo:

corpoTabela.innerHTML += `
    <tr class="paciente">
        <td class="info-nome">${elemento[0]}</td>
        <td class="info-peso">${elemento[1]}</td>
        <td class="info-altura">${elemento[2]}</td>
        <td class="info-gordura">${elemento[3]}</td>
        <td class="info-imc">${elemento[4]}</td>
    </tr>
    `
1 resposta

Olá Alessandro, tudo bem com você?

Peço desculpas pela demora em lhe responder.

Ambas as formas de criação de elementos no DOM são corretas. O uso dos métodos createElement ou innerHTML irá depender do contexto e do objetivo do projeto a qual você está trabalhando. Os dois métodos possuem vantagens e desvantagens no seu uso.

Usar o método createElement() e appendChild() é a abordagem recomendada para criar elementos HTML dinamicamente usando JavaScript. Essa abordagem é mais flexível e segura, pois permite criar elementos com mais precisão e manipular suas propriedades, como atributos e eventos. Além disso, a abordagem createElement() é mais eficiente em termos de desempenho, pois cria elementos diretamente no DOM sem precisar reconstruir o HTML.

Quando fazemos o uso do innerHTML para inserir HTML é mais simples e pode ser útil em algumas situações, especialmente quando você precisa inserir uma grande quantidade de HTML de uma vez. No entanto, essa abordagem é menos segura, pois o conteúdo inserido pode conter scripts maliciosos que podem comprometer a segurança do seu site. Além disso, usar o innerHTML para adicionar conteúdo a uma página existente pode ter efeitos colaterais inesperados, como substituir todo o conteúdo anterior da tag que você está adicionando.

Em resumo, a abordagem createElement() e appendChild() é mais flexível e segura, enquanto o innerHTML é mais simples e conveniente em algumas situações. Você pode usar ambos os métodos em diferentes cenários para obter os melhores resultados.

Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Espero ter lhe ajudado. Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!