JavaScript - Éléments DOM : Un guide pour les débutants
Salut à toi, futurs magiciens JavaScript ! Je suis ravi de devenir ton guide sur ce voyage passionnant dans le monde des éléments DOM. En tant que quelqu'un qui enseigne la programmation depuis des années, je peux te dire que comprendre le Document Object Model (DOM) c'est comme ouvrir un coffre au trésor de possibilités pour le développement web. Alors, plongeons dedans !
Les éléments DOM
Imagine que tu construis une maison. Le DOM est comme le plan de ta page web, et les éléments DOM sont les composants individuels - les briques, les fenêtres et les portes. Chaque partie de ta page web, des titres aux paragraphes en passant par les images, est un élément DOM.
Voici un exemple simple :
<div id="myDiv">
<h1>Bienvenue sur ma page web</h1>
<p>Ceci est un paragraphe.</p>
</div>
Dans cet exemple, nous avons trois éléments DOM :
- Un élément
<div>
- Un élément
<h1>
- Un élément
<p>
Chacun de ces éléments peut être manipulé avec JavaScript, c'est là que la magie opère !
Accéder aux éléments DOM
Maintenant que nous savons ce qu'est un élément DOM, apprenons comment les accéder. C'est comme trouver le bon jouet dans une boîte à jouets - il faut savoir où chercher !
1. getElementById()
Cette méthode est comme appeler ton chien par son nom - c'est direct et précis.
let myDiv = document.getElementById('myDiv');
console.log(myDiv);
Ce code trouve l'élément avec l'ID 'myDiv' et le stocke dans la variable myDiv
.
2. getElementsByClassName()
Si tu as plusieurs éléments avec la même classe, cette méthode est ton allié. C'est comme appeler tous les élèves portant des chemises rouges.
let paragraphs = document.getElementsByClassName('paragraph');
console.log(paragraphs);
Cela renvoie une collection de tous les éléments avec la classe 'paragraph'.
3. getElementsByTagName()
Cette méthode trouve tous les éléments d'un type de balise spécifique. C'est comme demander à toutes les chats dans une pièce de lever leurs pattes.
let allDivs = document.getElementsByTagName('div');
console.log(allDivs);
Ce code récupère tous les éléments <div>
sur la page.
4. querySelector() et querySelectorAll()
Ce sont les couteaux suisses de la sélection d'éléments. Ils utilisent la syntaxe des sélecteurs CSS pour trouver des éléments.
let firstParagraph = document.querySelector('p');
let allParagraphs = document.querySelectorAll('p');
console.log(firstParagraph);
console.log(allParagraphs);
querySelector()
renvoie le premier élément correspondant, tandis que querySelectorAll()
renvoie tous les éléments correspondants.
Modifier les éléments DOM
Une fois que nous avons accédé à nos éléments, il est temps de s'amuser ! Nous pouvons changer leur contenu, leur style et leurs attributs.
Changer le contenu
let header = document.getElementById('mainHeader');
header.textContent = 'Nouveau texte d\'entête';
header.innerHTML = '<em>Texte d\'entête en italique</em>';
textContent
change le texte, tandis que innerHTML
permet d'insérer du HTML.
Modifier les styles
let paragraph = document.querySelector('p');
paragraph.style.color = 'bleu';
paragraph.style.fontSize = '20px';
Cela change la couleur et la taille de la police du premier paragraphe.
Changer les attributs
let link = document.querySelector('a');
link.setAttribute('href', 'https://www.example.com');
link.removeAttribute('target');
Ici, nous changeons l'attribut href
d'un lien et supprimons son attribut target
.
Ajouter des événements aux éléments DOM
Les événements sont comme installer des filins - quand quelque chose se produit, ton code entre en action !
let button = document.getElementById('myButton');
button.addEventListener('click', function() {
alert('Bouton cliqué !');
});
Ce code ajoute un événement de clic à un bouton. Lorsqu'il est cliqué, il affiche une alerte.
Liste des propriétés des éléments DOM
Voici un tableau des propriétés courantes des éléments DOM :
Propriété | Description |
---|---|
innerHTML | Obtient ou définit le contenu HTML à l'intérieur d'un élément |
textContent | Obtient ou définit le contenu textuel d'un élément |
style | Obtient ou définit le style en ligne d'un élément |
className | Obtient ou définit le nom de classe d'un élément |
id | Obtient ou définit l'ID d'un élément |
attributes | Retourne une collection vivante de tous les attributs |
children | Retourne une collection des éléments enfants d'un élément |
parentNode | Retourne le noeud parent d'un élément |
Liste des méthodes des éléments DOM
Et voici un tableau de certaines méthodes utiles des éléments DOM :
Méthode | Description |
---|---|
setAttribute() | Ajoute ou change la valeur d'un attribut |
getAttribute() | Obtient la valeur d'un attribut |
removeAttribute() | Supprime un attribut d'un élément |
appendChild() | Ajoute un nouveau noeud enfant à un élément en tant que dernier noeud enfant |
removeChild() | Supprime un noeud enfant d'un élément |
replaceChild() | Remplace un noeud enfant dans un élément |
classList.add() | Ajoute un ou plusieurs noms de classe à un élément |
classList.remove() | Supprime un ou plusieurs noms de classe d'un élément |
classList.toggle() | Bascule entre un nom de classe pour un élément |
Souviens-toi, la pratique rend parfait ! N'aie pas peur d'expérimenter avec ces propriétés et méthodes. Chaque fois que tu les utilises, tu construis tes muscles de programmation.
Alors, en conclusion de cette leçon, je me souviens d'une élève qui m'a dit qu'apprendre la manipulation du DOM ressemblait à acquérir des superpuissances. Et tu sais quoi ? Elle avait raison ! Avec ces outils à ta disposition, tu peux dynamiquement changer n'importe quelle page web à volonté. C'est puissant !
Alors, va de l'avant, mes jeunes développeurs, et que tes aventures DOM soient exemptes de bugs et pleines de moments "Aha !". Bon codage !
Credits: Image by storyset