Ici tu vas apprendre à : sélectionner des éléments HTML, changer leur contenu avec JS et réagir à un clic sur un bouton.
Le DOM (Document Object Model) est la “représentation” du HTML en mémoire. JavaScript peut lire / modifier ce DOM → donc changer la page en direct.
<h1 id="titre">Titre original</h1>
const titre = document.getElementById("titre");
titre.innerText = "Nouveau titre depuis JS";
Le DOM représente…
Pour récupérer un élément, tu peux utiliser :
document.getElementById("mon-id")document.querySelector(".ma-classe")document.querySelector("h1")// HTML
// <p id="message">Texte de base</p>
// JS
const message = document.querySelector("#message");
message.innerText = "Texte modifié !";
querySelector fonctionne comme en CSS :
"#id", ".classe", "p span", etc.
Quel sélecteur utiliser pour cibler un élément avec id="score" ?
const titre = document.querySelector("h1");
titre.innerText = "Titre simple"; // texte brut
titre.innerHTML = "Titre <em>stylé</em>";
const box = document.querySelector(".box");
box.style.backgroundColor = "#4f8bff";
box.style.color = "white";
box.style.borderRadius = "12px";
Quelle propriété change le texte d’un élément sans interpréter de HTML ?
Tu peux dire à un élément : “Quand on clique sur toi, exécute cette fonction”.
// HTML
// <button id="btn">Clique-moi</button>
// JS
const btn = document.querySelector("#btn");
btn.addEventListener("click", function () {
console.log("Bouton cliqué !");
});
Quand l’utilisateur clique, la fonction anonyme est exécutée. Tu peux aussi définir une fonction à part :
function direBonjour() {
console.log("Bonjour !");
}
btn.addEventListener("click", direBonjour);
Quel événement utilise-t-on pour détecter un clic sur un bouton ?
Exemple typique : un compteur qui augmente quand on clique, avec un bouton pour remettre à zéro.
<div class="counter-box">
<button id="moins" class="counter-btn secondary">-</button>
<span id="valeur" class="counter-value">0</span>
<button id="plus" class="counter-btn">+</button>
<button id="reset" class="counter-btn secondary">Reset</button>
</div>
let compteur = 0;
const span = document.querySelector("#valeur");
const btnPlus = document.querySelector("#plus");
const btnMoins = document.querySelector("#moins");
const btnReset = document.querySelector("#reset");
function majAffichage() {
span.innerText = compteur;
}
btnPlus.addEventListener("click", () => {
compteur++;
majAffichage();
});
btnMoins.addEventListener("click", () => {
compteur--;
majAffichage();
});
btnReset.addEventListener("click", () => {
compteur = 0;
majAffichage();
});
Tu as une version simplifiée ci-dessous directement dans la page :
Question : que fait la fonction majAffichage() dans ce code ? (explique vite fait)
Crée une page interaction.html + un fichier
interaction.js avec :
<h1 id="titre-js">Titre de base</h1><p id="texte-js">Texte de base...</p><button id="btn-change">Changer le texte</button>Dans ton JS, fais en sorte que :
// Piste JS
const titre = document.querySelector("#titre-js");
const texte = document.querySelector("#texte-js");
const btn = document.querySelector("#btn-change");
// TODO : ajouter un addEventListener("click", ...) ici