★ À maîtriser
L’objet Window est un objet global représentant la fenêtre du navigateur, à partir duquel le JavaScript s’exécute.
L’objet Document est un sous-objet de Window qui représente la page web et permet d’accéder aux éléments HTML et de les modifier.
Compléments
Chaque nœud du DOM peut représenter un élément, un attribut ou un texte.
L’objet Window est généralement implicite : alert('Hello world!') est strictement équivalent à window.alert('Hello world!').
Dans l’arbre du DOM, Document pointe sur <html>, qui contient <head> et <body>, puis les éléments imbriqués dans l’ordre du HTML.
Dans le BOM, Navigator décrit l’état et l’identité du navigateur utilisé et est associé à l’API Geolocation.
Dans le BOM, History représente l’historique du navigateur, Location les informations de l’URL courante et Screen les propriétés de l’écran.
★ À maîtriser
📌 getElementById reçoit un identifiant et retourne un seul élément, tandis que getElementsByTagName reçoit un nom de balise et retourne les éléments correspondants dans l’ordre du document.
📌 querySelector reçoit un sélecteur CSS et retourne le premier élément correspondant, tandis que querySelectorAll retourne tous les éléments correspondants dans l’ordre de l’arbre du DOM.
Compléments
getElementsByClassName reçoit un nom de classe et retourne les éléments correspondants dans leur ordre dans le document.
Les sélecteurs CSS p, .exemple, p.exemple et #demo ciblent respectivement les paragraphes, la classe exemple, les paragraphes de cette classe et l’élément d’identifiant demo.
Un navigateur crée une propriété globale de window pour chaque élément HTML ayant un attribut id unique, mais cette pratique est déconseillée car un id peut compromettre une variable de code.
querySelector renvoie le premier correspondant ; querySelectorAll les renvoie tous.
📌 innerHTML et outerHTML lisent ou modifient le contenu HTML d’un élément, tandis qu’outerText, innerText et textContent concernent uniquement le texte sans interpréter les balises.
innerHTML interprète les balises ; textContent ne garde que le texte.
★ À maîtriser
📌 Lorsqu’une propriété CSS contient un tiret, il faut le supprimer en JavaScript et mettre une majuscule au mot qui suit, comme font-size qui devient fontSize.
Compléments
En JavaScript, l’attribut HTML class se manipule comme la propriété className, car class est un mot réservé.
Pour manipuler les classes CSS, classList.add() et classList.remove() sont souvent préférés à className.
Les propriétés CSS et JavaScript correspondantes sont :
Un tiret CSS disparaît et laisse une majuscule à la propriété JavaScript : font-size devient fontSize.
★ À maîtriser
📌 append() peut ajouter des chaînes de caractères et plusieurs nœuds, tandis qu’appendChild() n’accepte qu’un nœud à la fois et retourne l’objet ajouté.
Compléments
createElement() crée un nouvel élément, mais ne l’ajoute pas automatiquement à l’arbre du DOM.
forEach parcourt les éléments sélectionnés et fournit à chaque tour l’élément courant et sa position dans la liste, commençant à 0.
append() n’a pas de valeur de retour, tandis qu’appendChild() retourne l’objet ajouté.
prepend() et append() insèrent respectivement un nœud ou du texte avant le premier enfant ou après le dernier enfant d’un nœud.
Créer le nœud, le préparer, puis l’insérer dans le DOM.
★ À maîtriser
append() ajoute un nœud ou du texte à la fin d’un élément, tandis que prepend() l’ajoute au début.
Les quatre positions de insertAdjacent...() sont :
Compléments
insertBefore(nouveau, référence) insère le nouveau nœud juste avant l’enfant de référence.
insertAdjacentElement(), insertAdjacentHTML() et insertAdjacentText() insèrent respectivement un élément, du HTML ou du texte à une position définie relativement à l’élément.
removeChild() s’appelle sur le parent et retourne le nœud supprimé, tandis que remove() s’appelle directement sur l’élément à supprimer.
★ À maîtriser
Compléments
📌 Un gestionnaire d’événement peut être attaché par un attribut HTML onclick, par la propriété .onclick ou avec addEventListener, cette dernière méthode étant recommandée.
★ À maîtriser
Un événement traverse le DOM en deux phases : la capture descend de Window jusqu’à la cible, puis le bouillonnement remonte de la cible jusqu’à Window.
Par défaut, addEventListener écoute la phase de bouillonnement, si bien qu’un événement sur un enfant déclenche aussi les écouteurs attachés à ses parents.
stopPropagation() arrête la propagation de l’événement dans l’arbre DOM.
removeEventListener() exige la même référence de fonction que celle transmise à addEventListener pour retirer l’écouteur.
Compléments
L’option { capture: true } passée comme dernier paramètre à addEventListener permet d’écouter la phase de capture.
preventDefault() empêche le comportement par défaut du navigateur associé à l’événement.
stopPropagation arrête le trajet de l’événement ; preventDefault bloque l’action par défaut du navigateur.
★ À maîtriser
📌 Pour du texte simple, textContent est préférable à innerHTML, particulièrement lorsque le texte provient d’un utilisateur, en raison du risque de faille XSS.
Compléments
📌 Il est recommandé d’utiliser addEventListener plutôt que l’attribut HTML onclick, car cela sépare le comportement du HTML et autorise plusieurs écouteurs sur un même élément.
📌 Une fonction nommée est préférable lorsqu’un écouteur doit être retiré avec removeEventListener(), car il faut conserver la référence à la fonction attachée.
navigator fournit des informations sur le navigateur, notamment son nom, sa version et sa langue.
location représente l’URL courante et permet de rediriger la page avec location.href.
history permet de naviguer dans l’historique avec back() et forward().
Window fournit notamment les méthodes suivantes :
Teste tes connaissances sur DOM et manipulation des éléments avec 20 questions à choix multiples et corrections détaillées.
1. Comment le DOM représente-t-il un document HTML ou XML ?
2. Dans un script exécuté par un navigateur, quel objet global représente la fenêtre du navigateur et sert de point de départ à l’exécution de JavaScript ?
Mémorisez les concepts clés de DOM et manipulation des éléments avec 66 flashcards interactives.
Qu’est-ce que le DOM des documents HTML et XML ?
Une interface de programmation construite comme un arbre hiérarchique d’objets représentant toute la page.
Que représente l’objet Window dans le navigateur ?
La fenêtre du navigateur, à partir de laquelle le JavaScript s’exécute.
Quel objet de Window représente la page web et permet de modifier ses éléments HTML ?
L’objet Document.
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches