---
id: 62a3b79d520a7f3d0e25afd6
title: Step 29
challengeType: 0
dashedName: step-29
---

# --description--

JavaScript interagisce con l'HTML usando il <dfn>Document Object Model</dfn>, o DOM. Il DOM è un albero di oggetti che rappresenta l'HTML. Puoi accedere all'HTML usando l'oggetto `document`, che rappresenta l'intero documento HTML.

Un modo per trovare elementi specifici nel tuo HTML è usare il metodo `querySelector()`. Il metodo `querySelector()` prende un selettore CSS come argomento e restituisce il primo elemento che corrisponde al selettore. Ad esempio, per trovare l'elemento `<h1>` nel tuo HTML, dovresti scrivere:

```js
let h1 = document.querySelector("h1");
```

Nota che `h1` è una stringa che corrisponde al selettore CSS che useresti.

Crea una variabile `button1` e usa `querySelector()` per assegnarla all'elemento con l'`id` con il valore `button1`. Ricorda che i selettori CSS di `id` hanno il prefisso `#`.

# --hints--

Dovresti usare la parola chiave `let` per dichiarare la variabile `button1`.

```js
assert.match(code, /let button1/);
```

Dovresti usare `document.querySelector()`.

```js
assert.match(code, /document\.querySelector/);
```

Dovresti usare un selettore`#button1`.

```js
assert.match(code, /querySelector\(('|")#button1\1\)/);
```

# --seed--

## --seed-contents--

```html
<!DOCTYPE html>
<html lang="en">
<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>
</html>
```

```css
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;
}
```

```js
let xp = 0;
let health = 100;
let gold = 50;
let currentWeapon = 0;
let fighting;
let monsterHealth;
let inventory = ["stick"];

--fcc-editable-region--

--fcc-editable-region--
```
