Aller au contenu

JavaScript et le DOM

INFO

Nous disposons d'une section complète dédiée au DOM JavaScript. Vous pouvez la consulter pour des exemples et des explications détaillés.

Introduction à JavaScript et au DOM

JavaScript, un langage de script puissant, joue un rôle crucial dans le développement web moderne. Il permet des interactions dynamiques sur les pages web, les rendant non seulement informatives mais aussi interactives et engageantes. Le Document Object Model (DOM), un aspect essentiel du développement web, représente la structure d'une page web. C'est un modèle arborescent qui permet à JavaScript d'interagir avec les documents HTML et XML, en modifiant dynamiquement le contenu, la structure et les styles.

Comprendre le DOM

Le DOM est une représentation structurée de votre document HTML. Il permet à JavaScript d'accéder et de manipuler les éléments HTML, permettant ainsi des modifications de contenu en temps réel, des ajustements de style et des fonctionnalités interactives. Le DOM est organisé sous forme d'arbre, chaque élément HTML étant un nœud. Cette structure hiérarchique est essentielle pour comprendre comment JavaScript interagit avec les pages web.

Concepts clés :

  • Nœuds : Unités de base du DOM, représentant les éléments HTML.
  • Structure arborescente : Organisation hiérarchique des nœuds dans le DOM.
  • Objet Document : Point d'entrée de la hiérarchie du DOM.

JavaScript fournit de nombreuses méthodes pour parcourir l'arborescence du DOM, permettant aux développeurs d'accéder et de manipuler n'importe quel élément.

dom1

html
<!DOCTYPE html>
<html>
  <head>
    <title>Text</title>
  </head>
  <body>
    <h1>Header</h1>
    <p>Paragraph</p>
  </body>
</html>

Méthodes principales :

  • document.getElementById() : Accède à un élément unique par son ID.
  • document.getElementsByClassName() : Récupère un HTMLCollection d'éléments avec un nom de classe spécifique.
  • document.getElementsByTagName() : Récupère les éléments avec un nom de balise donné.
  • document.querySelector() : Retourne le premier élément correspondant à un sélecteur CSS spécifié.
  • document.querySelectorAll() : Retourne une liste d'éléments correspondant à un sélecteur CSS.

Manipulation des éléments du DOM

La puissance de JavaScript réside dans sa capacité à modifier dynamiquement le contenu et l'apparence des pages web.

Opérations courantes :

  • Modifier le contenu : Utilisez element.innerHTML ou element.textContent.
  • Modifier les styles : Accédez à la propriété element.style.
  • Créer des éléments : Utilisez document.createElement().
  • Ajouter des éléments : Utilisez parentElement.appendChild(newElement).
  • Supprimer des éléments : Utilisez parentElement.removeChild(existingElement).

Note : innerHTML analyse les chaînes HTML et peut présenter des risques XSS s'il est utilisé avec des données non fiables. Préférez textContent lors de l'insertion de texte brut.

Gestion des événements en JavaScript

Les événements sont des actions ou des occurrences qui se produisent dans le système que vous programmez, et que le système vous signale afin que vous puissiez y répondre de la manière souhaitée. JavaScript peut écouter et répondre aux actions de l'utilisateur comme les clics, les saisies au clavier et le chargement de la page.

Syntaxe de l'écouteur d'événement :


javascript
element.addEventListener('event', functionToCall);

Événements clés :

  • Événements de clic : Déclenchés par les clics de l'utilisateur.
  • Événements de chargement : Déclenchés lors du chargement des ressources.
  • Événements de saisie : Se produisent lorsque les utilisateurs interagissent avec des champs de saisie.

Exemple de gestion d'événements


html
<!DOCTYPE html>
<html>
<head>
    <title>Event Handling</title>
</head>
<body>
    <button id="clickMe">Click Me</button>
    <script>
        document.getElementById('clickMe').addEventListener('click', function() {
            alert('Button Clicked!');
        });
    </script>
</body>
</html>

Manipulations avancées du DOM

Au-delà des manipulations de base, JavaScript permet des opérations plus complexes comme le clonage de nœuds, la gestion des formulaires et la manipulation des classes CSS.

Techniques :

  • Clonage de nœuds : element.cloneNode(true).
  • Gestion des formulaires : Accédez et manipulez les éléments de formulaire.
  • Manipulation des classes CSS : Utilisez element.classList.add(), element.classList.remove() ou element.classList.toggle().

JavaScript et DOM : Bonnes pratiques

Pour utiliser efficacement JavaScript avec le DOM, considérez les bonnes pratiques suivantes :

  • Minimisez les manipulations du DOM : Réduit le rendu et améliore les performances.
  • Utilisez la délégation d'événements : Attacher un seul écouteur à un élément parent pour gérer efficacement les événements de plusieurs enfants.
  • Comprenez le reflow et le repaint : Processus du navigateur pour recalculer la mise en page et peindre les pixels ; les minimiser améliore les performances.

JavaScript et DOM : Exemples de code

Modification du contenu


html
<!DOCTYPE html>
<html>
<head>
    <title>Sample Page</title>
</head>
<body>
    <div id="content">Original Content</div>
    <script>
        document.getElementById('content').innerHTML = 'Updated Content';
    </script>
</body>
</html>

Ajout de nouveaux éléments


html
<!DOCTYPE html>
<html>
<head>
    <title>Add Elements</title>
</head>
<body>
    <div id="container"></div>
    <script>
        var newElement = document.createElement('p');
        newElement.textContent = 'New Paragraph';
        document.getElementById('container').appendChild(newElement);
    </script>
</body>
</html>

N'oubliez pas que maîtriser JavaScript et le DOM est un apprentissage continu. Continuez à expérimenter, à construire et à affiner vos compétences pour devenir un développeur JavaScript compétent.

Pratique

Quel est le rôle de JavaScript avec le Document Object Model (DOM) ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.