Falta pouco!

0 dias

0 horas

0 min

0 seg

1
resposta

[Dúvida] Index não atualiza, aula 1

Index não atualiza, código no app.js, salvo (Ctrl+S) ou mesmo no caminho mais longo (arquivo, salvar, etc) e ele não atualiza a parte de HTML.
No exemplo alterei o texto em 'p' para 'Escolha um número entre 1 e 1000' e nada. Deixarei os códigos aqui para ajuda com esta tarefa. Obrigado.

app.js
function exibirTextoNaTela (tag, texto ) {
let campo = document.querySelector ('tag');
campo.innerHTML = texto;
}

exibirTextoNaTela ('h1', 'Jogo do número secreto');
exibirTextoNaTela ('p', 'Escolha um número entre 1 e 1000');

function verificarChute() {
console.log('O botão foi clicado!');
}

index.html

<div class="container">
    <div class="container__conteudo">
        <div class="container__informacoes">
            <div class="container__texto">
                <h1>Adivinhe o <span class="container__texto-azul">numero secreto</span></h1>
                <p class="texto__paragrafo">Escolha um número entre 1 a 10</p>
            </div>
            <input type="number" min="1" max="10" class="container__input">
            <div class="chute container__botoes">
                <button onclick="verificarChute()" class="container__botao">Chutar</button>
                <button onclick="" id="reiniciar" class="container__botao" disabled>Novo jogo</button>
            </div>
        </div>
        <img src="./img/ia.png" alt="Uma pessoa olhando para a esquerda" class="container__imagem-pessoa" />
    </div>
</div>




<script src="app.js" defer></script>

style.css

  • {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    color: white;
    }

body {
background: linear-gradient(#1354A5 0%, #041832 33.33%, #041832 66.67%, #01080E 100%);
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
}

body::before {
background-image: url("img/code.png");
background-repeat: no-repeat;
background-position: right;
content: "";
display: block;
position: absolute;
width: 100%;
height: 100%;
opacity: 0.4;
}

.container {
width: 1200px;
height: 600px;
display: flex;
align-items: center;
justify-content: space-between;
border-radius: 24px;
border: 1px solid #1875E8;
box-shadow: 4px 4px 20px 0px rgba(1, 8, 14, 0.15);
background-image: url("img/Ruido.png");
background-size: 100% 100%;
position: relative;
}

.container__conteudo {
display: flex;
align-items: center;
position: absolute;
bottom: 0;
}

.container__informacoes {
flex: 1;
padding: 3rem;
}

.container__botao {
border-radius: 16px;
background: #1875E8;
padding: 16px 24px;
width: 100%;
font-size: 24px;
font-weight: 700;
border: none;
margin-top: 2rem;
}

button:disabled {
background-color: gray;
}

.container__texto {
margin: 16px 0 16px 0;
}

.container__texto-azul {
color: #1875E8;
}

.container__input {
width: 100%;
height: 72px;
border-radius: 16px;
background-color: #FFF;
border: none;
color: #1875E8;
padding: 2rem;
font-size: 24px;
font-weight: 700;
font-family: 'Inter', sans-serif;
}

.container__botoes {
display: flex;
gap: 2em;
}

h1 {
font-family: 'Chakra Petch', sans-serif;
font-size: 72px;
padding-bottom: 3rem;
}

p,
button {
font-family: 'Inter', sans-serif;
}

.texto__paragrafo {
font-size: 32px;
font-weight: 400;
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá Luís! Tudo bem?

Quando você passa 'tag' como argumento, ele está procurando por uma tag literal chamada <tag>, que não existe no seu HTML.

Para corrigir isso, você deve passar o nome real da tag que deseja selecionar. No seu caso, parece que você quer alterar o conteúdo de um <p>. Então, você deve passar 'p' em vez de 'tag' no querySelector.

Aqui está como você pode ajustar o código:

function exibirTextoNaTela(tag, texto) {
    let campo = document.querySelector(tag);
    campo.innerHTML = texto;
}

exibirTextoNaTela('h1', 'Jogo do número secreto');
exibirTextoNaTela('p', 'Escolha um número entre 1 e 1000');

Certifique-se de que o seletor que você está passando para querySelector corresponde exatamente ao que está no seu HTML. No seu caso, você já tem um <p> e um <h1>, então isso deve funcionar.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.