Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Não calcula IMC

Oi gente, estava dando tu certo calculava o IMC do primeiro paciente porém depois deixo de calcular esse e agora não calcula nenhum. No console não aparece nenhum erro nem nada.

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

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

for (var i = 0; i < pacientes.length; i++){
 var 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 pesoEhValido = true;
 var alturaEhValida = true;

 if ( peso <= 0 || peso >= 1000){
   console.log("Peso invalido!");
   pesoEhValido = false;
   tdImc.textContent = "Peso invalido!";
 }
              //ou//
 if (altura <= 0 || altura >= 3.00){
   console.log("Altura invalida!");
   alturaEhValida = false;
   tdImc.textContent = "Altura invalida!";
 }
                // e //
 if (alturaEhValida && pesoEhValido){
   var imc = peso / (altura * altura);
   tdImc.textContent = imc;

 }

 if (alturaEhValida && pesoEhValido) {
    var imc = peso / (altura * altura);
    tdImc.textContent = imc.toFixed(2);
 }

}

HTML

<!DOCTYPE html>

<head>
  <meta charset="utf-8">
  <title>Aparecida Nutrição</title>
  <link rel="icon" href="favicon.ico" type="image/x-icon">
  <link rel="stylesheet" type="text/css" href="css/reset.css">
  <link rel="stylesheet" type="text/css" href="css/index.css">

<script>
    console.log(document);
</script>



</head>
<body>

   <header>
       <div class="container">
          <h1 class="titulo">Aparecida Nutrição</h1>
        </div>
      </header>
      <main>
        <section class="container">
          <h2>Meus pacientes</h2>
          <table>
            <thead>
              <tr>
                <th>Nome</th>
                <th>Peso(kg)</th>
                <th>Altura(m)</th>
                <th>Gordura Corporal(%)</th>
                <th>IMC</th>
              </tr>
            </thead>
            <tbody id="tabela-pacientes">
              <tr class="paciente" id="primeiro-paciente">
                <td class="info-Nome">Paulo</td>
                <td class="info-Peso">100</td>
                <td class="info-Altura">2.00</td>
                <td class="info-Gordura">10</td>
                <td class="info-IMC">0</td>
              </tr>

              <tr class="paciente">
                <td class="info-Nome">João</td>
                <td class="info-Peso">80</td>
                <td class="info-Altura">1.72</td>
                <td class="info-Gordura">40</td>
                <td class="info-IMC">0</td>
              </tr>

              <tr class="paciente">
                <td class="info-Nome">Erica</td>
                <td class="info-Peso">54</td>
                <td class="info-Altura">1.64</td>
                <td class="info-Gordura">14</td>
                <td class="info-IMC">0</td>
              </tr>

              <tr class="paciente">
                <td class="info-Nome">Douglas</td>
                <td class="info-Peso">85</td>
                <td class="info-Altura">1.73</td>
                <td class="info-Gordura">24</td>
                <td class="info-IMC">0</td>
              </tr>

              <tr class="paciente">
                <td class="info-Nome">Tatiana</td>
                <td class="info-Peso">46</td>
                <td class="info-Altura">1.55</td>
                <td class="info-Gordura">19</td>
                <td class="info-IMC">0</td>
              </tr>
            </tbody>
          </table>

         </section>
      </main>

      <script src="js/principal.js">
      </script>
  </body>
</html>
5 respostas

Oi Laura, tudo bem?

Eu testei aqui e deu tudo certo com seu código...

O caminho do seu arquivo JS está correto?

Abraços!

Oi, Laura, tudo bem?

Quando você atualiza a página do projeto, onde está o IMC qual a saída de valor que aparece? Você verificou se o arquivo principal.js está dentro da pasta js? <script src="js/principal.js"> </script> Testei e deu certo.

aguardo :}

Oi Lais, tudo

Revisei e está dentro da pasta, esta correto, porém ainda não aparece nenhuma coisa no IMC.

Também tenho o mesmo problema. É o mesmo código do professor, mas o console acusa como "uncaught TypeError: Cannot read property 'textContent' of null" na variável peso.

Olá,

Código testado e esta funcionando corretamente. Manda um como esta sua estrutura de pastas.