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

Porque não consigo modificar o HTML interno de um elemento?

Neste tópico da aula 6 do curso, é dito que o seguinte código não funciona:

var nome = document.querySelector("#nome").innerHTML;
nome = "Meu nome é Rafael";

Como solução o instrutor diz que deve ser assim:

var nome = document.querySelector("#nome");
nome.innerHTML = "Meu nome é Rafael";

Mas os dois códigos não são iguais? Escritos apenas de maneiras distintas?

Se eu entendi no primeiro código é jogado na variável o innerHTML do elemento "#nome", sendo assim na linha seguinte atribuir uma nova string deve funcionar sim. A solução do instrutor difere apenas que ele joga na variável o elemento "#nome" e na linha seguinte ele atribui na propriedade innerHTML um novo valor. Estou errado?

2 respostas
solução!

Boa tarde, Guilherme! Como vai?

Não, os códigos não são semelhantes e apenas escritos de formas distintas.

No primeiro código a variável nome armazena o valor do innerHTML, que é apenas uma string, e em seguida vc altera o valor da variável nome.

Já no segundo código, a variável nome armazena o elemento selecionado pelo querySelector() e, em seguida, a propriedade innerHTML é alterada.

Portanto, veja que em cada caso a variável nome armazena coisas diferentes.

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Certo agora fez sentido, realmente não tinha visualizado isso.

Muito obrigado!!