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

textContent na mesma linha da problema ?

Eai gurizada, tava testando formas de selecionar e alterar o peso/altura/Calculo de IMC

Ai tentei fazer o seguinte:

var imc = trPaciente.querySelector(".info-imc").textContent;
imc = peso / (altura  * altura);

E nao da.

ja:

var imc = trPaciente.querySelector(".info-imc");
imc.textContent = peso / (altura * altura);

Achei curioso é que se eu der um console.log em ambos o resultado é igual.

2 respostas
solução!

É que quando é feito isso:

var imc = trPaciente.querySelector(".info-imc")

Você está retornando no javascript, ou seja, o mesmo tem uma referencia. Então se você alterar alguma propriedade dele, por exemplo:

imc.textContent = peso / (altura * altura);

Isso vai ser refletido no seu html também.

Porém quando você faz isso:

trPaciente.querySelector(".info-imc").textContent;

Você está capturando apenas o valor daquele elemento, e não a referência do objeto do mesmo, ele só te retorna uma string.

Segue abaixo um exemplo do que foi explicado, que é o mesmo caso do código relatado:

var string1 = "abc"
var string2 = string1;
string1 = "123"

console.log(`valor da string1=${string1} é diferente do valor da string2=${string2}`)

var object1 = {valor : "abc"};
var object2 = object1;

object1.valor = "123";

console.log(`valor do object1=${object1.valor} é igual ao valor do object2=${object2.valor}`)

Perfeito wellington, valeu por tirar a duvida :D abraços