Le DOM et les événements
L'arbre du document vu de JavaScript : sélectionner, lire et modifier des éléments, écouter des événements, leur propagation, preventDefault et la délégation.
- 27 cartes
- 3 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
Quelques cartes du deck
DOM : de quoi s'agit-il ?
Voir la réponse
Représentation de la page sous forme d'arbre d'objets (éléments, textes, attributs) que JavaScript peut lire et modifier, la page affichée suivant ces changements.
Le DOM n'est pas le fichier HTML : c'est l'arbre que le navigateur en construit. Un script qui l'altère ne change pas le fichier sur le serveur.
Combien d'éléments contient la liste renvoyée par
document.querySelectorAll('ul li.done')?
```html
<ul>
<li>Lait</li>
<li class="done">Pain</li>
<li class="done">Riz</li>
</ul>
<ol>
<li class="done">Thé</li>
</ol>`2314
Voir la réponse
2Le sélecteur
ul li.donedemande leslide classedonesitués dans unul: Pain et Riz. Thé est dans unol, Lait n'a pas la classe.Dans un écouteur, l'objet événement donne l'élément réellement visé par la propriété … et celui qui porte l'écouteur par la propriété ….
Voir la réponse
Dans un écouteur, l'objet événement donne l'élément réellement visé par la propriété target et celui qui porte l'écouteur par la propriété currentTarget.
Avec une délégation sur un
ul,currentTargetest toujours leul, alors quetargetest leliou le bouton cliqué.querySelector : de quoi s'agit-il ?
Voir la réponse
Méthode qui reçoit un sélecteur CSS et renvoie le premier élément correspondant, ou null s'il n'y en a aucun.
querySelectorAllrenvoie tous les éléments correspondants dans une liste (vide s'il n'y en a pas). Utiliser le résultatnullprovoqueCannot read properties of null.Ce script est placé dans le
head, sansdefer. Que se passe-t-il ?
```javascript
const bouton = document.querySelector('#envoyer');
bouton.addEventListener('click', envoyer);`- Rien : l'écouteur est posé dès que le bouton apparaît
TypeError: Cannot read properties of null (reading 'addEventListener')SyntaxError: Unexpected identifier 'bouton'au chargement- Le bouton existe mais l'écouteur est appelé deux fois
Voir la réponse
TypeError: Cannot read properties of null (reading 'addEventListener')Le navigateur exécute le script avant d'avoir construit le
body: le sélecteur ne trouve rien et renvoienull. Réparation :<script defer src="…">, qui attend la fin de l'analyse du document.