freeCodeCamp/curriculum/challenges/portuguese/15-javascript-algorithms-an.../learn-basic-javascript-by-b.../62b46e3a8d4be31be5af793d.md

3.1 KiB

id title challengeType dashedName
62b46e3a8d4be31be5af793d Passo 30 0 step-30

--description--

Encontramos um pequeno problema. Você está tentando consultar a página para um elemento de botão, mas a tag script está no head do HTML. Isso significa que o código é executado antes de o navegador terminar de ler o HTML e document.querySelector() não verá o botão, pois o navegador ainda não o processou.

Para corrigir isso, mova o elemento script para fora do elemento head e coloque-o no final do elemento body (logo antes da tag de fechamento </body>.)

--hints--

O elemento script não deve estar no elemento head.

const script = document.querySelector('script[data-src$="script.js"]');
assert.notEqual(script.parentElement.tagName, "HEAD");

O elemento script deve estar no final do elemento body.

const script = document.querySelector('script[data-src$="script.js"]');
assert.equal(script.previousElementSibling.tagName, "DIV");
assert.isNull(script.nextElementSibling);
assert.equal(script.parentElement.tagName, "BODY");

--seed--

--seed-contents--

<!DOCTYPE html>
<html lang="en">
--fcc-editable-region--
<head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="./styles.css">
    <title>RPG - Dragon Repeller</title>
    <script src="./script.js"></script>
</head>
<body>
    <div id="game">
        <div id="stats">
            <span class="stat">XP: <strong><span id="xpText">0</span></strong></span>
            <span class="stat">Health: <strong><span id="healthText">100</span></strong></span>
            <span class="stat">Gold: <strong><span id="goldText">50</span></strong></span>
        </div>
        <div id="controls">
            <button id="button1">Go to store</button>
            <button id="button2">Go to cave</button>
            <button id="button3">Fight dragon</button>
        </div>
        <div id="monsterStats">
            <span class="stat">Monster Name: <strong><span id="monsterName"></span></strong></span>
            <span class="stat">Health: <strong><span id="monsterHealth"></span></strong></span>
        </div>
        <div id="text">
            Welcome to Dragon Repeller. You must defeat the dragon that is preventing people from leaving the town. You are in the town square. Where do you want to go? Use the buttons above.
        </div>
    </div>

</body>
--fcc-editable-region--
</html>
body {
    background-color: darkblue;
}

#text {
    background-color: black;
    color: white;
    padding: 10px;
}

#game {
    max-width: 500px;
    max-height: 400px;
    background-color: lightgray;
    color: white;
    margin: 0 auto;
    padding: 10px;
}

#controls, #stats {
    border: 1px solid black;
    padding: 5px;
    color: black;
}

#monsterStats {
    display: none;
    border: 1px solid black;
    padding: 5px;
    color: white;
    background-color: red;
}

.stat {
    padding-right: 10px;
}
let xp = 0;
let health = 100;
let gold = 50;
let currentWeapon = 0;
let fighting;
let monsterHealth;
let inventory = ["stick"];

let button1 = document.querySelector("#button1");