Meu problema está acontecendo na hora de imprimir os a localização do adicionar-paciente nós documentos Aula 04 Escutando eventos
Var botaoAdicionar = document.querySelector("#adcionar-paciente");
Console.log(botaoAdicionar);
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Meu problema está acontecendo na hora de imprimir os a localização do adicionar-paciente nós documentos Aula 04 Escutando eventos
Var botaoAdicionar = document.querySelector("#adcionar-paciente");
Console.log(botaoAdicionar);
Oi, Marcel, tudo bem?
No console do navegador, apresenta alguma mensagem de erro? Você poderia colcoar aqui o seu html e restante do seu js para testarmos?
Laís
o html
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Aparecida Nutrição</title>
<link rel="icon" href="favicon.ico" type="image/x-icon">
<link rel="stylesheet" type="text/css" href="css/reset.css">
<link rel="stylesheet" type="text/css" href="css/index.css">
</head>
<body>
<header>
<div class="container">
<h2 class="titulo">Aparecida Nutrição</h2>
</div>
</header>
<main>
<section class="container">
<h2>Meus pacientes</h2>
<table>
<thead>
<tr>
<th>Nome</th>
<th>Peso(kg)</th>
<th>Altura(m)</th>
<th>Gordura Corporal(%)</th>
<th>IMC</th>
</tr>
</thead>
<tbody id="tabela-pacientes">
<tr class="paciente" id="primeiro-paciente">
<td class="info-nome">Paulo</td>
<td class="info-peso">100</td>
<td class="info-altura">2.00</td>
<td class="info-gordura">10</td>
<td class="info-imc">0</td>
</tr>
<tr class="paciente" >
<td class="info-nome">João</td>
<td class="info-peso">80</td>
<td class="info-altura">1.72</td>
<td class="info-gordura">40</td>
<td class="info-imc">0</td>
</tr>
<tr class="paciente" >
<td class="info-nome">Erica</td>
<td class="info-peso">54</td>
<td class="info-altura">1.64</td>
<td class="info-gordura">14</td>
<td class="info-imc">0</td>
</tr>
<tr class="paciente">
<td class="info-nome">Douglas</td>
<td class="info-peso">85</td>
<td class="info-altura">1.73</td>
<td class="info-gordura">24</td>
<td class="info-imc">0</td>
</tr>
<tr class="paciente" >
<td class="info-nome">Tatiana</td>
<td class="info-peso">46</td>
<td class="info-altura">1.55</td>
<td class="info-gordura">19</td>
<td class="info-imc">0</td>
</tr>
</tbody>
</table>
</section>
</main>
<script src="js/principal.js" ></script>
</body>
<section class="container">
<h2 id="titulo-form">Adicionar novo paciente</h2>
<form>
<div class="grupo">
<label for="nome">Nome:</label>
<input id="nome" name="nome" type="text" placeholder="digite o nome do seu paciente" class="campo">
</div>
<div class="grupo">
<label for="peso">Peso:</label>
<input id="peso" name="peso" type="text" placeholder="digite o peso do seu paciente" class="campo campo-medio">
</div>
<div class="grupo">
<label for="altura">Altura:</label>
<input id="altura" name="altura" type="text" placeholder="digite a altura do seu paciente" class="campo campo-medio">
</div>
<div class="grupo">
<label for="gordura">% de Gordura:</label>
<input id="gordura" type="text" placeholder="digite a porcentagem de gordura do seu paciente" class="campo campo-medio">
</div>
<button id="adicionar-paciente" class="botao bto-principal">Adicionar</button>
</form>
</section>
</html>O JS
var titulo = document.querySelector(".titulo");
titulo.textContent = "Aparecida Nutricionista";
var pacientes = document.querySelectorAll(".paciente");
for (var i = 0; i < pacientes.length; i++) {
var paciente = pacientes[i];
var tdPeso = paciente.querySelector(".info-peso");
var peso = tdPeso.textContent;
var tdAltura = paciente.querySelector(".info-altura");
var altura = tdAltura.textContent;
var tdImc = paciente.querySelector(".info-imc");
var pesoEhValido = true;
var alturaEhValida = true;
if (peso <= 0 || peso >= 1000) {
console.log("Peso inválido!");
pesoEhValido = false;
tdImc.textContent = "Peso inválido";
paciente.classList.add("paciente-invalido");
}
if (altura <= 0 || altura >= 3.00) {
console.log("Altura inválida!");
alturaEhValida = false;
tdImc.textContent = "Altura inválida";
paciente.classList.add("paciente-invalido");
}
if (pesoEhValido && alturaEhValida) {
var imc = peso / (altura * altura);
tdImc.textContent = imc.toFixed(2);
}
}
var botaoAdicionar = document.querySelector("#adicionar-paciente");
console.log(botaoAdicionar)Não aparece nenhuma mensagem de erro, mas aparece null no console
Boa tarde, Marcel! Como vai?
O problema está ocorrendo pois a section com o formulário está fora da tag body. Para corrigir, coloque a section dentro do body e com a declaração do script por último antes de fechar o body.
Observação importante: O JavaScript é case sensitive, o que significa que ele faz diferenciação entre minúsculas e maiúsculas. E veja que no primeiro trecho de código que vc mandou aqui no post var e console estão escritos de forma incorreta usando maiúsculas iniciais.
Qualquer coisa é só falar!
Grande abraço e bons estudos, meu aluno!