1
resposta

Não obtive os resultados

var titulo=document.querySelector(".titulo");
titulo.textContent = "Aparecida Nutricionista";

var paciente = document.querySelector("#primeiro-paciente");

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 pesoEhValido=true;
var alturaEhValido=true;

if(peso<0||peso>1000){
    console.log("Peso Ivalido");
    pesoEhValido = false;
}
if(altura<0||altura>3){
    console.log("Altura Inválida");
    alturaEhValido=false;
}

if(pesoEhValido && alturaEhValido){
    var imc = peso/(altura.altura);
    tdImc.textContent=imc;
}
1 resposta

Olá Cicero, tudo bem com você?

O resultado do cálculo do IMC não está sendo apresentado na linha do primeiro paciente, devido à ausência do seletor de classes CSS no momento em que a variável tdImc é atribuída. Assim, não será encontrado a classe CSS e será gerado o erro: Uncaught TypeError: Cannot set properties of null (setting 'textContent').

Peço que no arquivo calcula-imc.js localize a linha onde ocorre a atribuição da variável tdImc. No momento em que é fornecido o nome da classe CSS para o método querySelector() adicione um ponto (.) a frente da string "info-imc". Assim estaremos usando o seletor de classes CSS. O código deve ficar como apresentado abaixo.

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

Ainda no arquivo calcula-imc.js. Será necessário realizar uma correção na fórmula utilizada para calcular o IMC. Quando está acontecendo a multiplicação da altura, foi utilizado um ponto (.) para indicar a multiplicação, o correto é utilizarmos um asterisco (*).

Localize a estrutura condicional que contém o cálculo do IMC (última estrutura condicional do arquivo). Modifique o código deixando-o como apresentado abaixo.

if(pesoEhValido && alturaEhValido){
    var imc = peso/(altura * altura);
    console.log(imc);
    tdImc.textContent=imc;
}

Após as mudanças realizadas, salve o arquivo calcula-imc.js. Abra o arquivo index.html no navegador e verifique o resultado do cálculo do IMC do primeiro paciente.

Código completo com as mudanças aplicadas

var titulo=document.querySelector(".titulo");
titulo.textContent = "Aparecida Nutricionista";

var paciente = document.querySelector("#primeiro-paciente");

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 pesoEhValido=true;
var alturaEhValido=true;

if(peso<0||peso>1000){
    console.log("Peso Ivalido");
    pesoEhValido = false;
}
if(altura<0||altura>3){
    console.log("Altura Inválida");
    alturaEhValido=false;
}

if(pesoEhValido && alturaEhValido){
    var imc = peso/(altura * altura);
    console.log(imc);
    tdImc.textContent=imc;
}

Na aula replicando a validação e o cálculo do IMC para todos os pacientes ocorrerá a implementação do calculo para os demais pacientes da tabela.

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

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

Abraços e bons estudos!

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