Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Na terceira aula,conhecendo o DOM .

Nao estou conseguindo exibir o imc na tabela pacientes,que seria 25,ja até copiei o codigo da aula linha por linha ,mas nao consigo achar o erro. No console da esse erro "Uncaught TypeError: Cannot read property 'textContent' of null" agradece aeh galera,no aguarde!

// o codigo é esse:
var tdPeso = document.getElementById("peso-2");
var tdAltura = document.getElementById("altura-2");

var peso = tdPeso.textContent;
var altura = tdAltura.textContent;

if(altura != 0){      
    var imc = peso / (altura * altura);

    var tdImc = document.getElementById("imc-2");
    tdImc.textContent = imc;


    console.log(imc);

}else{
    console.log("nao executei por que altura é igual a zero");
}
5 respostas

Olá, José

Você pode me mandar o HTML que está executando esse JavaScript?

Aparentemente o método: document.getElementById(), não conseguiu encontrar o elemento com id: peso-2. Que deve estar no HTML.

Fico no aguardo.

<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" id="peso-1">10</td>
                        <td ="info-altura" id="altura-1">20</td>
                        <td class="info-imc" id="imc-1"></td>
                    </tr>
                    <tr class="paciente">
                        <td class="info-nome">Paulo</td>
                        <td class="info-peso" id="peso-2">540</td>
                        <td class="info-altura" id="altura-2">10</td>
                        <td class="info-imc" id="imc-2"></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>
solução!

Se você importou o script no head da página não vai funcionar porque os elementos ainda não existem. Importe o script como último elemento da tag boby .

Como Fabricio disse, tem que verificar se os ids existem. Vc postou código sem formatação e ele ficou ilegível. Veja como postar código em dicas de formatação. Vou editar seu Post e formata-lo para ajudar os colegas.

Tem um erro no seu html que pode zuar a procura:

 <td ="info-altura" id="altura-1">20</td>

Meu script estava no head, nem pensei nisso rs!,valeu Flavio e Fabrício AGRADECE!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software