Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

tudo funciona, mas tem uma exception....wtf?

Olá pessoas, estou encontrando um erro estranho, apesar do cálculo IMC estar okay. Quando abro o console do chrome aparece um "error": Uncaught TypeError: Cannot read property 'getElementsByClassName' of undefined abaixo segue meu JS



var trPacientes = document.getElementsByClassName("paciente");

for(var i = 0;(trPacientes.length -1);i++){


        var trAtual = trPacientes[i];

        var alturaTd = trAtual.getElementsByClassName("info-altura")[0];
        var nomeTd = trAtual.getElementsByClassName("info-nome")[0];
        var pesoTd = trAtual.getElementsByClassName("info-peso")[0];
        var imcTd = trAtual.getElementsByClassName("info-imc")[0];

        var paciente = {"nome": nomeTd.textContent, "altura": alturaTd.textContent, "peso" : pesoTd.textContent};

        var imc = paciente.peso / (paciente.altura * paciente.altura);

        imcTd.textContent = imc;

}

agora o HTML

<!doctype html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Meus pacientes</title>
        <link rel="stylesheet" type="text/css" href="reset.css">
        <link rel="stylesheet" type="text/css" href="alura.css">

    </head>
    <body>

        <header>
            <div class="container">
                <h1>Meus pacientes</h1>
            </div>
        </header>
        <main class="container">
            <section>
                <h2>Meus pacientes</h2>
                <table>
                    <tr>
                        <th>Nome</th>
                        <th>Peso(kg)</th>
                        <th>Altura(m)</th>
                        <th>IMC</th>
                    </tr>
                    <tr class="paciente">
                        <td class="info-nome">Leonardo</td>
                        <td class="info-peso" >57</td>
                        <td class="info-altura" >1.67</td>
                        <td class="info-imc" ></td>
                    </tr>
                    <tr class="paciente">
                        <td class="info-nome">Paulo</td>
                        <td class="info-peso" >100</td>
                        <td class="info-altura" >2.00</td>
                        <td class="info-imc" ></td>
                    </tr>
                    <tr class="paciente">
                        <td class="info-nome">Thiago</td>
                        <td class="info-peso" >83</td>
                        <td class="info-altura" >1.81</td>
                        <td class="info-imc" ></td>
                    </tr>
                    <tr class="paciente">
                        <td class="info-nome">Eloisa</td>
                        <td class="info-peso" >65</td>
                        <td class="info-altura" >1.65</td>
                        <td class="info-imc" ></td>
                    </tr>
                    <tr class="paciente">
                        <td class="info-nome">Thalles</td>
                        <td class="info-peso" >65</td>
                        <td class="info-altura" >1.75</td>
                        <td class="info-imc" ></td>
                    </tr>
                </table>
                <button id="calcula-imcs" class="botao ">Calcular Imcs</button>
            </section>
            <section>
                <h2>Adicionar novo paciente</h2>    
                <form>
                    <fieldset>
                        <label for="nome">Nome:</label>
                        <input id="campo-nome" type="text" placeholder="digite o nome do seu paciente">
                    </fieldset>
                    <fieldset class="campo-medio">
                        <label for="peso">Peso:</label>
                        <input id="campo-peso" type="text" placeholder="digite o peso do seu paciente">
                    </fieldset>
                    <fieldset class="campo-medio">
                        <label for="altura">Altura:</label>
                        <input id="campo-altura" type="text" placeholder="digite a altura do seu paciente">
                    </fieldset>
                    <button id="adicionar-paciente" class="botao bto-principal">Adicionar</button>
                </form>
            </section>
        </main>
        <script src="calcula-imc.js"></script>
    </body>
</html>
1 resposta
solução!

Opa pessoal, tava dando um mole cabuloso, coisa de iniciante mesmo, o erro está na condição de finalizar o for....