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

Erro no console quando acessando um elemento da dom.

Pessoal, fiz o código da aula de uma forma mais simplificada e encontrei esse erro no console. Erro:

Uncaught TypeError: paciente.querySelector is not a function at evaluateImc (principal.js:18) at principal.js:12

const pacientes = document.querySelectorAll('.paciente');

evaluateImc();

function evaluateImc(){
    for (let tr in pacientes){
        const paciente = pacientes[tr];
        const imc = paciente.querySelector('.info-imc');
        let peso = paciente.querySelector('.info-peso').textContent;
        let altura = paciente.querySelector('.info-altura').textContent;

        let calcImc = peso/(altura * altura);

        console.log(paciente);

        imc.textContent = calcImc.toFixed(2);
    }
}
2 respostas

Boa noite, meu xará! Como vai?

Vc poderia mandar aqui o seu código completo? Vou precisar tanto do HTML como do JS. Assim poderei dar uma olhada no que está acontecendo pra tentar te ajudar.

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

solução!

Fala Gabriel, tranquilo ?

Muito obrigado pela disposição em me ajudar. Eu estava fazendo uns teste para entender esse erro e acabei descobrindo o motivo. Quando eu rodava o código:

function evaluateImc(){
    for (let tr in pacientes){
        console.log(tr);
    }
}

A variável me retornava além dos indíces dos elementos, os métodos também, por isso que a função funcionava corretamente, mas, também me mostrava esse erro, pois, quando eu fazia a seguinte assimilação

const paciente = pacientes[tr];

tr retornava métodos, o que supostamente gerava os erros.

Saídas do código acima:

0
1
2
3
4
length
item
entries
forEach
keys
values

Repare que após o 5º elemento o código começa a retornar os métodos da array.

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