Objet Document JavaScript expliqué : propriétés du DOM, méthodes et exemples pratiques

目次

1. Introduction

JavaScript est un langage de programmation essentiel pour le développement web. Parmi ses fonctionnalités de base, le document object joue un rôle central dans le contrôle et la manipulation de la structure et du contenu d’une page web. Dans cet article, vous apprendrez l’objet document de JavaScript d’une manière compréhensible pour les débutants comme pour les utilisateurs intermédiaires.

À quoi sert JavaScript ?

JavaScript est un langage de programmation utilisé conjointement avec HTML et CSS, principalement pour créer des comportements dynamiques et des interactions utilisateur sur les pages web. Parmi les exemples : validation de formulaires, affichage de menus contextuels et ajout d’effets d’animation.

En particulier, le document object fournit des fonctionnalités pour accéder et modifier les éléments d’une page web à l’aide de JavaScript. Avec cet objet, vous pouvez sélectionner des éléments HTML, ajouter de nouveaux éléments, définir des événements et réaliser de nombreuses autres opérations.

Pourquoi faut‑il apprendre le document object ?

L’objet document fait partie du DOM (Document Object Model). Le DOM est un modèle qui représente la structure d’un document HTML ou XML de façon à pouvoir la manipuler programmatiquement, et il constitue une connaissance indispensable pour le développement web.

En comprenant ce modèle et en apprenant à utiliser efficacement l’objet document, vous pourrez gérer des situations telles que :

  • Mises à jour dynamiques de l’interface utilisateur
  • Validation de formulaires en temps réel
  • Chargement et rendu de données asynchrones (AJAX ou Fetch API)
  • Implémentation de fenêtres modales et de menus contextuels

Ce que vous apprendrez dans cet article

Cet article explique tout, des bases aux usages plus avancés de l’objet document, de manière structurée, en utilisant des exemples de code pratiques pour montrer son fonctionnement. Après lecture, vous serez capable de comprendre les points suivants :

  • La structure de base et les fonctionnalités de l’objet document
  • Comment sélectionner et manipuler des éléments HTML
  • Comment configurer des écouteurs d’événements et des exemples d’utilisation concrets
  • Les précautions importantes et les bonnes pratiques

Les débutants pourront saisir fermement les fondamentaux, tandis que les utilisateurs intermédiaires pourront obtenir des astuces pour écrire un code plus efficace.

2. Qu’est‑ce que l’objet JavaScript document ?

En JavaScript, le objet document est l’une des interfaces les plus importantes pour travailler avec les pages web. Fourni dans le cadre du DOM (Document Object Model), il vous permet de manipuler et de modifier facilement les éléments d’une page web.

Le rôle de l’objet document

L’objet document représente l’ensemble du document HTML chargé par le navigateur. Cela vous permet de contrôler la structure HTML, les styles et le contenu de façon programmatique avec JavaScript.

Par exemple, vous pouvez :

  • Sélectionner et modifier des éléments HTML
  • Créer et ajouter de nouveaux éléments
  • Modifier la couleur d’arrière‑plan de la page ou le contenu textuel
  • Détecter les actions de l’utilisateur en définissant des écouteurs d’événements

Relation entre le DOM et l’objet document

Le DOM (Document Object Model) représente un document HTML ou XML sous forme d’arbre. Au sommet de cet arbre se trouve l’objet document.

Le diagramme ci‑dessous montre une vue simplifiée de la relation entre le DOM et l’objet document.

document
├── html
│   ├── head
│   │   └── title
│   └── body
│       ├── div
│       ├── p
│       └── button

De cette façon, l’objet document représente la page entière sous forme d’arbre et sert de point de départ pour accéder à chaque élément.

Utilisation de base de l’objet document

Voyons quelques exemples simples d’utilisation de l’objet document.

Exemple 1 : Obtenir le titre de la page

console.log(document.title); // Get the page title

Exemple 2 : Modifier la couleur d’arrière‑plan

document.body.style.backgroundColor = "lightblue";

Exemple 3 : Sélectionner et modifier un élément

let heading = document.getElementById("main-title");
heading.textContent = "New Title";

En combinant ces opérations, vous pouvez créer des pages web interactives et dynamiques.

Principales fonctionnalités de l’objet document

  1. Mises à jour en temps réel – Les modifications du document sont reflétées immédiatement.
  2. Accès à une structure hiérarchique – Vous pouvez sélectionner et modifier les éléments de manière flexible en parcourant l’arbre DOM.
  3. Gestion des événements – Vous pouvez ajouter des écouteurs d’événements en fonction des actions de l’utilisateur.

3. Principales propriétés et méthodes de l’objet document

L’objet JavaScript document fournit de nombreuses propriétés et méthodes qui prennent en charge un large éventail d’opérations sur les pages web. Dans cette section, nous présenterons les propriétés et méthodes les plus couramment utilisées.

1. Propriétés couramment utilisées

Voici les propriétés les plus couramment utilisées de l’objet document et leurs utilisations.

PropertyDescriptionExample
document.titleGets or sets the current page title.console.log(document.title);
document.URLGets the URL of the current page.console.log(document.URL);
document.bodyGets the page’s <body> element.document.body.style.backgroundColor = "yellow";
document.headGets the page’s <head> element.console.log(document.head.innerHTML);
document.formsGets all form elements on the page.console.log(document.forms[0]);
document.imagesGets all image elements on the page.console.log(document.images);
document.linksGets all link elements on the page.console.log(document.links);
document.cookieGets or sets cookie information for the page.console.log(document.cookie);
document.documentElementGets the <html> element representing the entire page.console.log(document.documentElement);

Ces propriétés vous aident à récupérer et mettre à jour facilement les informations d’une page web.

2. Méthodes couramment utilisées

Ensuite, voici les méthodes utilisées pour manipuler les éléments et en ajouter de nouveaux.

MethodDescriptionExample
getElementById(id)Selects an element with the specified ID attribute.let element = document.getElementById("header");
getElementsByClassName(class)Selects all elements with the specified class name (returned as an HTMLCollection).let items = document.getElementsByClassName("item");
getElementsByTagName(tag)Selects all elements with the specified tag name.let paragraphs = document.getElementsByTagName("p");
querySelector(selector)Selects the first element that matches the CSS selector.let firstDiv = document.querySelector("div.container");
querySelectorAll(selector)Selects all elements that match the CSS selector (returned as a NodeList).let allDivs = document.querySelectorAll("div.container");
createElement(tag)Creates a new HTML element.let newDiv = document.createElement("div");
appendChild(node)Adds a new child node to the specified element.document.body.appendChild(newDiv);
removeChild(node)Removes the specified child node.document.body.removeChild(newDiv);
write(content)Writes HTML or text directly into the document (deprecated).document.write("<h1>Hello World!</h1>");
addEventListener(event, func)Adds an event listener to an element for a specified event.document.addEventListener("click", () => { alert("Clicked!"); });

3. Exemples combinant propriétés et méthodes

Examinons des exemples d’utilisation réels.

Exemple 1 : Récupérer la valeur d’un formulaire

let form = document.forms[0];
let input = form.elements["username"];
console.log(input.value);

Exemple 2 : Créer et ajouter un nouvel élément

let newParagraph = document.createElement("p");
newParagraph.textContent = "This is a new paragraph.";
document.body.appendChild(newParagraph);

Exemple 3 : Ajouter un événement de clic

document.getElementById("myButton").addEventListener("click", () => {
    alert("The button was clicked!");
});

4. Résumé

L’objet document offre un ensemble riche de propriétés et de méthodes utiles pour manipuler les pages web. En les maîtrisant, vous pouvez créer des pages web plus interactives et fonctionnelles.

4. Sélection et manipulation d’éléments HTML (avec exemples de code)

En utilisant l’objet document de JavaScript, vous pouvez facilement sélectionner des éléments HTML, modifier leur contenu et changer leurs attributs. Dans cette section, nous expliquerons en détail les techniques courantes de sélection et de manipulation avec des exemples de code.

1. Comment sélectionner des éléments HTML

1-1. Sélection par ID – getElementById()

Sélectionnez les éléments en utilisant l’attribut ID défini sur un élément HTML.

Exemple : Modifier le texte d’un élément

HTML :

<h1 id="title">Original Title</h1>

JavaScript :

let title = document.getElementById("title");
title.textContent = "New Title"; // Change the text

Point clé

  • Un ID doit être unique. Vous ne pouvez pas attribuer le même ID à plusieurs éléments.

1-2. Sélection par nom de classe – getElementsByClassName()

Sélectionnez plusieurs éléments qui partagent le même nom de classe.

Exemple : Modifier la couleur de fond

HTML :

<div class="box">Box 1</div>
<div class="box">Box 2</div>

JavaScript :

let boxes = document.getElementsByClassName("box");
for (let i = 0; i < boxes.length; i++) {
    boxes[i].style.backgroundColor = "lightblue";
}

Point clé

  • Vous parcourez les éléments comme un tableau et les manipulez un par un.

1-3. Sélection par nom de balise – getElementsByTagName()

Sélectionnez tous les éléments avec le nom de balise spécifié.

Exemple : Modifier la couleur de tous les paragraphes

HTML :

<p>Paragraph 1</p>
<p>Paragraph 2</p>

JavaScript :

let paragraphs = document.getElementsByTagName("p");
for (let p of paragraphs) {
    p.style.color = "green";
}

1-4. Sélection avec des sélecteurs CSS – querySelector() et querySelectorAll()

L’utilisation de sélecteurs CSS vous permet de sélectionner les éléments de manière plus flexible.

Sélection d’un seul élément – querySelector()

let firstDiv = document.querySelector("div.box");
firstDiv.textContent = "Selected box";

Sélection de plusieurs éléments – querySelectorAll()

let allDivs = document.querySelectorAll("div.box");
allDivs.forEach(div => div.style.border = "1px solid red");

2. Comment manipuler des éléments HTML

2-1. Modifier le texte ou le HTML

Exemple : différence entre innerHTML et textContent
HTML:

<div id="content">Original text</div>

JavaScript:

let content = document.getElementById("content");

// Change text only
content.textContent = "<b>New text</b>"; // Displayed as plain text

// Change including HTML
content.innerHTML = "<b>New text</b>"; // Displayed in bold

Points clés

  • textContent traite les balises comme une simple chaîne de caractères et ne les interprète pas comme du HTML.
  • innerHTML applique le HTML directement, mais il faut être prudent concernant la sécurité (prévention des XSS).

2-2. Modification des attributs

Exemple : modifier un lien
HTML:

<a id="link" href="https://example.com">Original link</a>

JavaScript:

let link = document.getElementById("link");
link.setAttribute("href", "https://google.com"); // Change the URL
link.textContent = "Link to Google";             // Change the label

2-3. Création et ajout de nouveaux éléments

Exemple : ajouter un nouvel élément de liste
HTML:

<ul id="list">
  <li>Item 1</li>
</ul>

JavaScript:

let list = document.getElementById("list");
let newItem = document.createElement("li");
newItem.textContent = "Item 2"; // Create a new item
list.appendChild(newItem);      // Append to the end of the list

2-4. Suppression d’éléments

Exemple : supprimer un élément en cliquant sur un bouton
HTML:

<div id="box">Element to be removed</div>
<button id="deleteBtn">Remove</button>

JavaScript:

let box = document.getElementById("box");
let deleteBtn = document.getElementById("deleteBtn");

deleteBtn.addEventListener("click", () => {
    box.remove(); // Remove the element
});

3. Résumé

Dans cette section, vous avez appris comment sélectionner et manipuler des éléments HTML à l’aide de l’objet document à travers des exemples pratiques. Maîtriser ces techniques rend le contrôle dynamique des pages web beaucoup plus facile.

5. Étapes pour créer et ajouter de nouveaux éléments (avec diagrammes)

En utilisant l’objet document de JavaScript, vous pouvez créer dynamiquement de nouveaux éléments HTML et les ajouter à une page existante. Dans cette section, nous expliquons les étapes spécifiques pour créer et ajouter des éléments avec des exemples de code et des diagrammes.

1. Comment créer de nouveaux éléments

1-1. Créer un élément – createElement()

Créez un nouvel élément HTML en utilisant la méthode document.createElement().

Exemple : créer un nouvel élément paragraphe

let newParagraph = document.createElement("p"); // Create a new <p> element
newParagraph.textContent = "This paragraph was added dynamically."; // Set the text

Points clés

  • L’élément créé n’a pas encore été ajouté au DOM.
  • Vous pouvez librement définir le texte et les attributs.

2. Définir des attributs et des styles sur un élément

2-1. Définir des attributs – setAttribute()

Pour définir des attributs sur un élément créé, utilisez la méthode setAttribute().

Exemple : ajouter des attributs à un élément lien

let link = document.createElement("a");
link.textContent = "Google";
link.setAttribute("href", "https://google.com"); // Set the URL
link.setAttribute("target", "_blank");           // Open in a new tab

2-2. Définir des styles – la propriété style

Si vous souhaitez définir le style directement, utilisez la propriété style.

Exemple : styliser un bouton

let button = document.createElement("button");
button.textContent = "Click";
button.style.backgroundColor = "blue"; // Background color
button.style.color = "white";          // Text color
button.style.padding = "10px 20px";    // Padding

3. Ajouter l’élément à la page

Vous pouvez ajouter les éléments créés au DOM en utilisant appendChild() ou insertBefore().

3-1. Ajouter à la fin – appendChild()

Exemple : ajouter un élément de liste
HTML:

<ul id="list">
  <li>Item 1</li>
</ul>

JavaScript:

let list = document.getElementById("list");
let newItem = document.createElement("li");
newItem.textContent = "Item 2"; // Create a new item
list.appendChild(newItem);      // Append to the end of the list

3-2. Ajouter à une position spécifique – insertBefore()

Exemple : Insérer un élément à une position spécifiée

let referenceItem = list.firstElementChild; // Use the first item as a reference
list.insertBefore(newItem, referenceItem);  // Insert before the first item

4. Supprimer des éléments

Vous pouvez supprimer les éléments créés en utilisant removeChild() ou remove().

4-1. Supprimer un élément enfant – removeChild()

let itemToRemove = list.lastElementChild; // Get the last item
list.removeChild(itemToRemove);           // Remove it

4-2. Supprimer l’élément lui‑même – remove()

newItem.remove(); // Remove itself

5. Exemple pratique : Créer dynamiquement un élément carte

Voici un exemple qui crée dynamiquement un nouvel élément « carte », définit les styles et l’ajoute à la page.

HTML :

<div id="container"></div>

JavaScript :

let container = document.getElementById("container");

// Create the card element
let card = document.createElement("div");
card.classList.add("card"); // Add a class

// Create the card title
let title = document.createElement("h2");
title.textContent = "Card Title";

// Create the card body text
let description = document.createElement("p");
description.textContent = "This is the description text for the card.";

// Assemble and append
card.appendChild(title);
card.appendChild(description);
container.appendChild(card); // Append to the page

// Styling
card.style.border = "1px solid #ccc";
card.style.padding = "10px";
card.style.margin = "10px";
card.style.width = "200px";
card.style.boxShadow = "0 4px 6px rgba(0, 0, 0, 0.1)";

Résultat :

Card Title
This is the description text for the card.

6. Résumé

Dans cette section, vous avez appris le flux complet, de la création de nouveaux éléments à la définition d’attributs et de styles, puis à leur ajout à la page. En appliquant ces techniques, la génération de contenu web dynamique devient beaucoup plus simple.

6. Comment configurer des écouteurs d’événements (exemples pratiques)

En JavaScript, vous pouvez utiliser l’objet document pour configurer des écouteurs d’événements et exécuter un traitement dynamique en réponse aux actions de l’utilisateur. Dans cette section, nous expliquons tout, des bases des écouteurs d’événements aux exemples d’utilisation pratiques.

1. Qu’est‑ce qu’un écouteur d’événement ?

Un écouteur d’événement est un mécanisme qui détecte les actions de l’utilisateur (comme les clics, les saisies ou les mouvements de la souris) et exécute une opération correspondante.

Exemple : Événement de clic de base

document.getElementById("myButton").addEventListener("click", () => {
    alert("The button was clicked!");
});

2. Comment ajouter des écouteurs d’événements

2-1. Utilisation de base de addEventListener()

La méthode addEventListener() utilise la syntaxe suivante :

element.addEventListener(event, function, useCapture);

Description des paramètres

  1. event – Le type d’événement (par exemple : click, mouseover, keydown).
  2. function – La fonction à exécuter (anonyme ou nommée).
  3. useCapture – Méthode de propagation de l’événement (true pour la capture, false pour le bubbling).

Exemple : Ajouter un événement mouseover

let box = document.getElementById("box");
box.addEventListener("mouseover", () => {
    box.style.backgroundColor = "lightblue";
});

3. Types d’événements couramment utilisés

Voici les types d’événements les plus couramment utilisés ainsi que des exemples.

EventDescriptionExample
clickWhen an element is clickedButton click handling
dblclickWhen an element is double-clickedSelecting text
mouseoverWhen the mouse pointer enters an elementStart hover animation
mouseoutWhen the mouse pointer leaves an elementEnd hover animation
keydownWhen a key is pressedDetect keyboard input
keyupWhen a key is releasedValidate input after typing
submitWhen a form is submittedValidate form data
focusWhen an element receives focusAuto-assist input fields
blurWhen an element loses focusInput error checking

4. Exemples pratiques d’écouteurs d’événements

4-1. Modifier le texte en cliquant sur un bouton

HTML :

<button id="changeText">Change</button>
<p id="text">Original text</p>

JavaScript :

let button = document.getElementById("changeText");
let text = document.getElementById("text");

button.addEventListener("click", () => {
    text.textContent = "Nouveau texte";
});

4-2. Real-time input detection

HTML:

<input type="text" id="nameInput" placeholder="Entrez votre nom">
<p id="output"></p>

JavaScript:

let input = document.getElementById("nameInput");
let output = document.getElementById("output");

input.addEventListener("input", () => {
    output.textContent = "Entrée : " + input.value;
});

4-3. Change background color on hover

HTML:

<div id="hoverBox" style="width: 100px; height: 100px; background-color: lightgray;"></div>

JavaScript:

let hoverBox = document.getElementById("hoverBox");

hoverBox.addEventListener("mouseover", () => {
    hoverBox.style.backgroundColor = "yellow";
});

hoverBox.addEventListener("mouseout", () => {
    hoverBox.style.backgroundColor = "lightgray";
});

5. How to remove event listeners

You can remove an event listener using the removeEventListener() method.

Example: Remove a click event

function handleClick() {
    alert("Cliquez !");
}

let button = document.getElementById("myButton");
button.addEventListener("click", handleClick);

// Supprimer le gestionnaire d'événement
button.removeEventListener("click", handleClick);

Important note

  • To remove an event listener, you must reference the same function. Anonymous functions cannot be removed.

6. Summary

In this section, you learned how to set up event listeners, common event types, and practical usage examples. Mastering event handling is essential for creating interactive web applications.

7. Common Practical Use Cases and Applied Scenarios

The JavaScript document object can be applied in many real-world scenarios. In this section, we introduce common use cases and applied scenarios frequently seen in actual development.

1. Dynamic form validation

Form input validation is important for improving user experience. Below is an example that checks input in real time.

HTML

<form id="signupForm">
  <label for="email">Email :</label>
  <input type="email" id="email" required>
  <span id="emailError" style="color: red;"></span>
  <br>
  <button type="submit">Soumettre</button>
</form>

JavaScript

let emailInput = document.getElementById("email");
let emailError = document.getElementById("emailError");
let form = document.getElementById("signupForm");

// Validation de l'entrée
emailInput.addEventListener("input", () => {
    let emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
    if (!emailPattern.test(emailInput.value)) {
        emailError.textContent = "Veuillez saisir une adresse e‑mail valide.";
    } else {
        emailError.textContent = "";
    }
});

// Vérifier lors de la soumission du formulaire
form.addEventListener("submit", (event) => {
    if (emailError.textContent !== "") {
        event.preventDefault();
        alert("Il y a une erreur dans votre saisie.");
    }
});

2. Dynamic content generation

This example dynamically generates new elements based on user actions.

HTML

<div id="container"></div>
<button id="addItem">Ajouter un élément</button>

JavaScript

let container = document.getElementById("container");
let addButton = document.getElementById("addItem");

addButton.addEventListener("click", () => {
    let newItem = document.createElement("div");
    newItem.textContent = "Nouvel élément";
    newItem.style.border = "1px solid #ccc";
    newItem.style.padding = "10px";
    newItem.style.margin = "5px 0";
    container.appendChild(newItem);
});

Result: A new item is added each time the button is clicked.

8. Cautions and Best Practices

The JavaScript document object is very powerful, but improper usage can negatively impact performance and security. In this section, we introduce important cautions and best practices to keep your code safe and efficient.

1. Performance optimization

1-1. Minimiser les opérations DOM

Les opérations DOM sont coûteuses, il faut donc réduire le nombre de fois où elles sont effectuées.

Mauvais exemple (opérations DOM répétées à l’intérieur d’une boucle)

for (let i = 0; i < 100; i++) {
    let div = document.createElement("div");
    div.textContent = "Item " + i;
    document.body.appendChild(div);
}

Exemple amélioré (utilisation d’un DocumentFragment)

let fragment = document.createDocumentFragment();
for (let i = 0; i < 100; i++) {
    let div = document.createElement("div");
    div.textContent = "Item " + i;
    fragment.appendChild(div);
}
document.body.appendChild(fragment);

Point clé

  • Les fragments peuvent être ajoutés au DOM en une seule opération, améliorant les performances.

1-2. Réduire le reflow et le repaint

Modifier fréquemment les styles provoque du reflow et du repaint, ce qui peut ralentir le rendu.

Mauvais exemple

let box = document.getElementById("box");
box.style.width = "100px";
box.style.height = "100px";
box.style.backgroundColor = "red";

Exemple amélioré (mise à jour groupée)

let box = document.getElementById("box");
Object.assign(box.style, {
    width: "100px",
    height: "100px",
    backgroundColor: "red"
});

2. Considérations de sécurité

2-1. Prévenir les attaques XSS

L’utilisation de innerHTML peut permettre l’injection de scripts malveillants.

Exemple dangereux

let userInput = "<script>alert('Attack!')</script>";
document.getElementById("output").innerHTML = userInput;

Exemple sûr

let userInput = "<script>alert('Attack!')</script>";
document.getElementById("output").textContent = userInput;

Point clé

  • Toujours désinfecter les entrées utilisateur avant de les afficher.

2-2. Gestion appropriée des écouteurs d’événements

Si les écouteurs d’événements inutilisés ne sont pas supprimés, ils peuvent provoquer des fuites de mémoire.

Mauvais exemple

document.getElementById("button").addEventListener("click", () => {
    alert("Clicked!");
});

Exemple amélioré (supprimer l’écouteur lorsqu’il n’est plus nécessaire)

function handleClick() {
    alert("Clicked!");
}
let button = document.getElementById("button");
button.addEventListener("click", handleClick);
button.removeEventListener("click", handleClick);

3. Lisibilité et maintenabilité

3-1. Conventions de nommage cohérentes

Utilisez des noms de variables et de fonctions descriptifs qui indiquent clairement leurs rôles.

Mauvais exemple

let a = document.getElementById("username");
let b = document.getElementById("password");

Exemple amélioré

let usernameInput = document.getElementById("username");
let passwordInput = document.getElementById("password");

3-2. Créer des fonctions réutilisables

En refactorisant le code en fonctions, vous réduisez la duplication et améliorez la maintenabilité.

Mauvais exemple

document.getElementById("btn1").addEventListener("click", () => alert("Button 1"));
document.getElementById("btn2").addEventListener("click", () => alert("Button 2"));

Exemple amélioré

function handleClick(message) {
    alert(message);
}

document.getElementById("btn1").addEventListener("click", () => handleClick("Button 1"));
document.getElementById("btn2").addEventListener("click", () => handleClick("Button 2"));

4. Considérations mobiles et réactives

Lors de l’utilisation de JavaScript, assurez-vous d’un comportement fluide également sur les appareils mobiles.

Conseils et contre-mesures

  1. Alternative aux événements click – Sur mobile, envisagez touchstart ou touchend.
  2. Paramètres du viewport – Configurez correctement le viewport pour éviter les zooms indésirables.
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
  1. Combiner avec des media queries – Utilisez les media queries CSS pour des mises en page réactives.

5. Résumé

Cette section a couvert les précautions importantes et les meilleures pratiques pour utiliser l’objet document de manière sûre et efficace.

  • Optimisation des performances : Minimiser les opérations DOM.
  • Sécurité : Prévenir les XSS et gérer les entrées utilisateur en toute sécurité.
  • Maintenabilité : Écrire du code lisible et réutilisable.
  • Support mobile : Prendre en compte le design réactif et les événements tactiles.

9. FAQ : Questions courantes pour les débutants

Les débutants qui commencent à utiliser l’objet JavaScript document rencontrent souvent diverses questions et problèmes. Cette section répond aux questions courantes sous forme de Q&R.

Q1. Pourquoi ne puis‑je pas sélectionner un élément avec getElementById() ?

R : Les raisons courantes incluent les suivantes :

  1. ID incorrect
  • L’ID spécifié n’existe pas ou est mal orthographié.
  • Solution : Vérifiez que l’ID dans votre HTML correspond à celui de votre JavaScript.
  1. Moment d’exécution du script
  • Si le JavaScript s’exécute avant que le HTML ne soit chargé, l’élément n’existe pas encore.
  • Solution : Utilisez l’événement DOMContentLoaded.
    document.addEventListener("DOMContentLoaded", () => {
        let element = document.getElementById("myDiv");
        console.log(element.textContent);
    });
    

Q2. Quelle est la différence entre innerHTML et textContent ?

R :

  • innerHTML : Obtient ou définit tout le contenu, y compris les balises HTML.
  • textContent : Obtient ou définit uniquement le texte (les balises HTML sont ignorées).

Q3. Pourquoi ne puis‑je pas modifier les éléments retournés par querySelectorAll() ?

R : querySelectorAll() renvoie une NodeList statique, qui n’est pas un tableau. Vous devez itérer dessus pour appliquer des modifications.

let items = document.querySelectorAll(".item");
items.forEach(item => {
    item.style.color = "blue";
});

Q4. Pourquoi addEventListener() ne fonctionne‑t‑il pas ?

R : Les raisons possibles incluent :

  1. Élément non trouvé
  • L’élément cible n’a pas été sélectionné correctement.
  • Solution : Vérifiez dans la console si l’élément existe.

Q5. Pourquoi removeChild() génère‑t‑il une erreur ?

R : L’élément à supprimer doit être un enfant de l’élément parent.

let list = document.getElementById("list");
let item = document.getElementById("item1");
list.removeChild(item);

6. Résumé

Cette section FAQ a abordé les problèmes courants des débutants. Faire attention à la sélection des éléments, au timing et à l’utilisation correcte des méthodes vous aidera à éviter de nombreux problèmes.

10. Conclusion et prochaines étapes

Tout au long de cet article, vous avez découvert l’objet JavaScript document, des concepts de base aux applications pratiques. Passons en revue les points clés et examinons les prochaines étapes pour approfondir vos connaissances.

En maîtrisant l’objet document, vous acquérez les bases nécessaires pour créer des applications web dynamiques, interactives et performantes. Comme prochaine étape, explorez la manipulation avancée du DOM, l’intégration d’API et les frameworks modernes afin d’améliorer davantage vos compétences.

広告