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

querySelector

Uncaught TypeError: paciente.querySelector is not a function na linha 6

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

//peso
var paciente = document.querySelectorAll(".paciente");
var tdPeso = paciente.querySelector ('.info-peso');
var peso = tdPeso.textContent;

for(var i = 0; i < 5; i++){
    console.log(i);
}

//altura
var tdAltura = paciente.querySelector(".info-altura");
var altura = tdAltura.textContent;

var pesoEhValido = true;
var alturaEhValida = true;

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

if(peso <= 0 || peso >= 1000){
    console.log("Peso inválido")
    pesoEhValido = false;
    tdImc.textContent = "Peso inválido!";
}

if(altura <= 0 || altura >= 3.00){
    console.log("Altura inválida")
    alturaEhValida = false;
    tdImc.textContent = "Altura inválida!";
}

if(alturaEhValida && pesoEhValido){
    var imc = peso / (altura * altura);
    tdImc.textContent = imc;
}
2 respostas
solução!

E ai Guilherme, tudo bem?

O querySelectorAll retorna um nodelist e esse retorno pode ser acessado por um indice (similar aos arrays).

No seu exemplo, pode ser utilizado da seguinte forma:

var paciente = document.querySelectorAll(".paciente");
var tdPeso = paciente[0].querySelector ('.info-peso');

Se você quiser acessar vários elementos, pode utilizar por exemplo um 'for' e, utilizar a variável de iteração no lugar do índice.

for(var i = 0; i < 5; i++){
   paciente[i].querySelector ('.info-peso');
}

Boa sorte!

Consegui Fabio, muito obrigado!