1
resposta

Uncaught TypeError: Node.appendChild: Argument 1 is not an object.

Olá prezados, estou o problema citado acima. Aparentemente quando ele vai criar a 3° td apresenta esse erro. Caso eu retire as linhas de códigos para adiciona-las ele funciona normalmente, porém adiciona os dois primeiros dados

file:///C:/Users/ovito/Desktop/Alura/JS/Linguagem da Web/introducao-javascript/js/principal.js:72 EventListener.handleEvent* file:///C:/Users/ovito/Desktop/Alura/JS/Linguagem da Web/introducao-javascript/js/principal.js:46

JS
console.log("Fui carregado")
var titulo = document.querySelector("h1")
titulo.textContent = "Aparecida Nutricionista"

var pacientes = document.querySelectorAll(".paciente");

for (let i = 0; i < pacientes.length; i++) {

    let paciente = pacientes[i]

    var tdPeso = paciente.querySelector(".info-peso")
    var peso = tdPeso.textContent

    var tdAltura = paciente.querySelector(".info-altura")
    var altura = tdAltura.textContent;

    var tdImc = paciente.querySelector(".info-imc")

    var pesoEValido = true
    var alturaEValida = true

    if (peso < 0 || peso > 1000) {
        console.log("Peso inválido");
        pesoEValido = false
        tdImc.textContent = "Peso inválido"
    }

    if (altura < 0 || altura > 3) {
        console.log("Altura inválida")
        alturaEValida = false
        tdImc.textContent = "Altura inválida"
        paciente.style.color = "white"
        paciente.classList.add("paciente-invalido")

    }


    if (pesoEValido && alturaEValida) {
        var imc = peso / (altura * altura)
        tdImc.textContent = imc.toFixed(2)
    }

}

var botaoAdicionar = document.querySelector("#adicionar-paciente");
botaoAdicionar.addEventListener("click", function (event) {
    event.preventDefault();

    var form = document.querySelector("#form-adiciona");

    var altura = form.altura.value
    var peso = form.peso.value
    var nome = form.nome.value
    var gordura = form.gordura.value

    var pacienteTr = document.createElement("tr");

    var nomeTd = document.createElement("td")
    var pesoTd = document.createElement("td")
    var altuTd = document.createElement("td")
    var gorduraTd = document.createElement("td")
    var imcTd = document.createElement("td")

    nomeTd.textContent = nome;
    pesoTd.textContent = peso;
    altuTd  = altura;
    gorduraTd = gordura;

    pacienteTr.appendChild(nomeTd);
    pacienteTr.appendChild(pesoTd);
    pacienteTr.appendChild(alturaTd);       
    pacienteTr.appendChild(gorduraTd);


   var tabela = document.querySelector("#tabela-pacientes")
   tabela.appendChild(pacienteTr)

});
1 resposta

pode ser um erro de digitação na linha 60 altuTd = altura; você depois na linha 71 pacienteTr.appendChild(alturaTd);