QCM : DOM et manipulation des éléments (20 questions)

Questions et réponses du QCM

1. Comment le DOM représente-t-il un document HTML ou XML ?

Comme une interface de programmation organisée en arbre hiérarchique d’objets représentant la page
Comme une liste plate des éléments HTML sans relations hiérarchiques
Comme l’interface graphique affichée à l’écran par le navigateur
Comme le code source brut conservé sous forme de texte

Comme une interface de programmation organisée en arbre hiérarchique d’objets représentant la page

Explication

Le DOM est une interface de programmation qui représente toute la page sous la forme d’un arbre hiérarchique d’objets. Le code source brut, la liste plate et l’interface graphique ne décrivent pas cette structure.

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 ?

L’objet Window
L’objet Document
L’objet History
L’objet Screen

L’objet Window

Explication

Window représente globalement la fenêtre du navigateur et constitue le contexte à partir duquel JavaScript s’exécute. Document représente la page, tandis que History concerne l’historique et Screen les propriétés de l’écran.

3. Un script doit accéder aux éléments HTML d’une page puis les modifier. Quel objet fournit cet accès dans la hiérarchie du navigateur ?

L’objet Element, objet représentant la balise html entière
L’objet History, objet associé aux pages visitées
L’objet Document, sous-objet de Window représentant la page
L’objet Window, objet global représentant la fenêtre

L’objet Document, sous-objet de Window représentant la page

Explication

Document est un sous-objet de Window qui représente la page web et permet d’accéder à ses éléments HTML et de les modifier. Window désigne la fenêtre, History l’historique, et un élément HTML particulier n’est pas l’objet qui donne cet accès général à la page.

4. Dans une page contenant plusieurs paragraphes, quel appel renvoie tous les éléments p dans l’ordre du document ?

getElementsByTagName("p")
getElementsByClassName("p")
querySelector("p")
getElementById("p")

getElementsByTagName("p")

Explication

getElementsByTagName reçoit un nom de balise et renvoie les éléments correspondants dans l’ordre du document. getElementById cherche un identifiant, querySelector renvoie le premier résultat CSS, et getElementsByClassName cherche une classe.

5. Un script doit obtenir tous les éléments correspondant au sélecteur CSS « p.exemple », dans l’ordre de l’arbre du DOM. Quelle méthode convient ?

getElementById("p.exemple")
getElementsByClassName("p.exemple")
querySelector("p.exemple")
querySelectorAll("p.exemple")

querySelectorAll("p.exemple")

Explication

querySelectorAll accepte un sélecteur CSS et renvoie tous les éléments correspondants dans l’ordre de l’arbre du DOM. querySelector ne renvoie que le premier résultat, getElementsByClassName attend un nom de classe, et getElementById attend un identifiant.

6. Pour récupérer le balisage HTML interne d’un élément, y compris les balises qu’il contient, quelle propriété faut-il utiliser plutôt que celles qui renvoient uniquement du texte ?

outerHTML
innerText
textContent
innerHTML

innerHTML

Explication

innerHTML permet de lire le contenu HTML interne, balises comprises, tandis que textContent et innerText renvoient du texte sans interpréter les balises. outerHTML concerne le balisage de l’élément dans son ensemble, et non seulement son contenu interne.

7. Un script doit remplacer l’adresse d’un lien déjà sélectionné dans une page. Quelle propriété de l’élément faut-il modifier pour définir sa nouvelle destination ?

src
textContent
className
href

href

Explication

L’attribut d’un élément peut être lu ou modifié directement par la propriété portant son nom : href définit la destination d’un lien. textContent concerne le texte, src la source d’une ressource comme une image, et className les classes CSS.

8. Un script doit créer un paragraphe contenant « Bonjour », puis le faire apparaître dans le document. Quelle suite d’actions respecte ce processus ?

Créer le paragraphe, l’insérer dans le DOM, puis le supprimer après le texte
Créer le paragraphe, lui ajouter le texte, puis l’insérer dans le DOM
Ajouter le texte au document, puis créer et insérer le paragraphe
Créer le paragraphe et considérer sa création comme une insertion dans le DOM

Créer le paragraphe, lui ajouter le texte, puis l’insérer dans le DOM

Explication

La création et l’ajout consistent à créer un nœud, à lui ajouter éventuellement du texte, puis à l’insérer. Insérer avant d’ajouter le texte inverse les étapes, et créer un élément ne l’ajoute pas à l’arbre du DOM.

9. Dans un conteneur contenant déjà un paragraphe, un script doit placer « Début » avant ce paragraphe et « Fin » après lui. Quelles méthodes conviennent ?

prepend() pour les deux textes afin de les placer autour du paragraphe
prepend() pour « Début » et append() pour « Fin »
append() pour les deux textes afin de les placer autour du paragraphe
append() pour « Début » et prepend() pour « Fin »

prepend() pour « Début » et append() pour « Fin »

Explication

prepend() ajoute au début de l’élément, tandis qu’append() ajoute à sa fin. Inverser leurs effets ou employer une seule méthode pour les deux textes ne les place pas aux extrémités voulues.

10. Un script doit insérer un élément juste après un conteneur existant, sans le placer parmi ses enfants. Quelle position d’insertAdjacent...() faut-il choisir ?

beforeend
beforebegin
afterbegin
afterend

afterend

Explication

afterend place le contenu juste après l’élément, à l’extérieur de celui-ci. beforeend le place après son dernier enfant, tandis que beforebegin et afterbegin désignent respectivement l’extérieur avant l’élément et son début intérieur.

11. Pour exécuter la fonction `traiterClic` lorsqu’un bouton est cliqué, quelle méthode faut-il appeler sur ce bouton et quels arguments lui transmettre ?

addEventListener avec « click » et la fonction traiterClic
addEventListener avec traiterClic et « click »
addEventListener avec « click » seulement
onclick avec « click » et la fonction traiterClic

addEventListener avec « click » et la fonction traiterClic

Explication

`addEventListener` reçoit le type d’événement puis la fonction callback à exécuter. `onclick` confond une propriété avec la méthode demandée, l’inversion des arguments ne respecte pas leur ordre, et l’option sans callback omet la fonction à exécuter.

12. Un gestionnaire est attaché à un élément parent et un clic se produit sur un bouton qui en est l’enfant. Quelle propriété désigne le bouton et laquelle désigne le parent porteur du gestionnaire ?

currentTarget désigne le bouton et target le parent
target et currentTarget désignent le parent
target et currentTarget désignent le bouton
target désigne le bouton et currentTarget le parent

target désigne le bouton et currentTarget le parent

Explication

`target` désigne l’élément où l’événement s’est produit, tandis que `currentTarget` désigne celui auquel le gestionnaire est attaché. L’inversion confond origine et gestionnaire, et les deux autres réponses supposent à tort que les deux propriétés désignent le même élément.

13. Un clic se produit sur un bouton imbriqué dans un panneau. Dans quel ordre les phases de propagation traversent-elles le DOM ?

La capture descend de Window au parent, puis le bouillonnement s’arrête à la cible
La capture descend de la cible à Window, puis le bouillonnement remonte vers la cible
La capture descend de Window à la cible, puis le bouillonnement remonte vers Window
Le bouillonnement descend de Window à la cible, puis la capture remonte vers Window

La capture descend de Window à la cible, puis le bouillonnement remonte vers Window

Explication

La capture descend de Window jusqu’à l’élément cible, puis le bouillonnement remonte de la cible jusqu’à Window. L’inversion échange les phases, tandis que les autres réponses inversent leur point de départ ou leur trajet.

14. Un clic sur un enfant doit aussi déclencher le gestionnaire installé sur son parent. Quel comportement par défaut d’`addEventListener` rend cela possible ?

L’écoute des descendants, qui transmet l’événement de parent en enfant
L’écoute de la cible, qui redirige l’événement vers le parent
L’écoute du bouillonnement, qui fait remonter l’événement vers le parent
L’écoute de la capture, qui fait descendre l’événement depuis le parent

L’écoute du bouillonnement, qui fait remonter l’événement vers le parent

Explication

Par défaut, `addEventListener` écoute la phase de bouillonnement, pendant laquelle l’événement remonte de l’enfant vers ses parents. La capture est l’autre phase, et les deux autres formulations décrivent à tort une propagation vers les descendants ou une redirection depuis la cible.

15. Lorsqu’un clic sur un élément ne doit plus se propager aux autres éléments de l’arbre DOM, quelle méthode faut-il appeler sur l’événement ?

preventDefault()
stopPropagation()
remove()
removeEventListener()

stopPropagation()

Explication

`stopPropagation()` arrête la propagation de l’événement dans l’arbre DOM. `preventDefault()` empêche l’action par défaut du navigateur, `removeEventListener()` retire un écouteur et `remove()` retire un élément.

16. Une fonction `gererClic` a été passée à `addEventListener`. Pour retirer cet écouteur avec `removeEventListener`, quelle référence faut-il fournir ?

Le type d’événement click à la place de la fonction
L’élément qui a déclenché le clic à la place de la fonction
Une nouvelle fonction anonyme au même contenu
La même référence de fonction gererClic

La même référence de fonction gererClic

Explication

`removeEventListener()` doit recevoir la même référence de fonction que celle transmise à `addEventListener`, afin d’identifier l’écouteur à retirer. Une nouvelle fonction a une référence différente, tandis que le type d’événement et l’élément cible ne remplacent pas cette référence.

17. Une application doit afficher comme texte brut un commentaire saisi par un utilisateur. Quelle propriété faut-il privilégier pour limiter le risque d’injection de code ?

textContent
querySelector
innerHTML
onclick

textContent

Explication

Pour insérer du texte simple, textContent évite d’interpréter le contenu comme du HTML et réduit ainsi le risque de faille XSS. innerHTML interprète le balisage, querySelector sélectionne un élément et onclick associe un gestionnaire d’événement.

18. Un bouton reçoit un écouteur que l’application devra retirer plus tard avec removeEventListener(). Quelle stratégie d’attachement facilite cette suppression ?

Inscrire le nom du gestionnaire dans textContent
Attacher une fonction anonyme définie directement dans l’appel
Définir le gestionnaire avec l’attribut HTML onclick
Attacher une fonction nommée dont la référence est conservée

Attacher une fonction nommée dont la référence est conservée

Explication

removeEventListener() doit recevoir la référence à la même fonction que celle attachée ; une fonction nommée conservée permet de la fournir. Une fonction anonyme non référencée ne peut pas être désignée ainsi, tandis qu'onclick et textContent ne fournissent pas cette référence.

19. Une équipe distingue les objets décrivant le navigateur de ceux qui représentent les éléments d’une page. À quelle catégorie appartient l’ensemble exposé par Window qui représente le navigateur lui-même ?

Aux éléments du document
Au DOM
Au BOM
À l’objet screen

Au BOM

Explication

Le BOM regroupe les objets exposés par Window qui représentent le navigateur, tandis que le DOM représente le document de la page. screen concerne les dimensions de l’écran et les éléments HTML appartiennent au document.

20. Une page doit rediriger l’utilisateur vers une nouvelle adresse URL. Quelle propriété du navigateur peut recevoir cette adresse pour déclencher la redirection ?

screen.width
navigator.language
history.forward()
location.href

location.href

Explication

location représente l’URL courante et location.href peut recevoir une nouvelle adresse pour rediriger la page. navigator.language donne une information sur la langue, history.forward() avance dans l’historique et screen.width indique une dimension de l’écran.

Révisez avec les flashcards

Mémorisez les réponses avec 66 flashcards sur DOM et manipulation des éléments.

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.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur DOM et manipulation des éléments.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM