Le DOM (Document Object Model) est une représentation structurée de votre page HTML que JavaScript peut lire et modifier. Chaque élément HTML devient un "objet" que vous pouvez manipuler.
Pourquoi c'est important : Le DOM permet de créer des pages web interactives en temps réel, sans recharger la page. Vous pouvez changer du texte, modifier des styles, ajouter/supprimer des éléments...
Aujourd'hui : Apprendre à sélectionner des éléments HTML avec JavaScript
et à lire leur contenu avec textContent et innerHTML.
Sélectionne un élément par son attribut id (le plus rapide et précis).
Sélectionne le premier élément qui correspond à un sélecteur CSS.
Sélectionne tous les éléments qui correspondent à un sélecteur CSS. Retourne une NodeList (comme un tableau).
textContent : Lit/modifie uniquement le texte brut.
innerHTML : Lit/modifie le HTML complet (balises incluses).
Testez ces exemples dans la console interactive ci-dessus !
Objectifs de ce cours :
✅ Comprendre ce qu'est le DOM
✅ Sélectionner des éléments avec getElementById()
✅ Utiliser querySelector() et querySelectorAll()
✅ Différencier textContent et innerHTML
✅ Lire le contenu des éléments HTML
Points clés à retenir :
• getElementById('id') : Sélection par ID (le plus rapide)
• querySelector('.classe') : Premier élément qui match (sélecteur CSS)
• querySelectorAll('p') : Tous les éléments qui match (retourne NodeList)
• textContent : Texte brut uniquement (sécurisé)
• innerHTML : HTML complet avec balises (attention XSS)
• Toujours vérifier si l'élément existe avant de l'utiliser (if)
• querySelectorAll retourne une NodeList, utilisez forEach() pour parcourir
Exercice pratique :
1. Sélectionnez l'élément avec l'id "demo-title" et affichez son textContent
2. Comptez tous les paragraphes de la page avec querySelectorAll
3. Sélectionnez toutes les div avec la classe "demo-box"
4. Parcourez-les avec forEach et affichez leur contenu
5. Comparez textContent et innerHTML sur l'élément #content-demo
6. Bonus : Trouvez tous les boutons et affichez leur texte
7. Bonus 2 : Sélectionnez le premier élément avec querySelector('.demo-item') et lisez son HTML
