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 !

JavaScript - DOM Elements

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 :

  1. Un élément <div>
  2. Un élément <h1>
  3. 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