1
0

23. Quelques précautions.md 907 B

Dans l'exemple précédent, modifie l'attribut id de la div, sans modifier le JavaScript, et vois ce qui se passe dans la console. Tu dois obtenir une erreur :

empty.html:17 Uncaught TypeError: Cannot set property 'innerHTML' of null
Si l'élement ciblé n'est pas trouvé, getElementById() renvoie null (une autre valeur courante en JS, à distinguer de undefined).

Il faut donc être prudent :

  • Soit être très rigoureux, et modifier en même temps le HTML et le JS pour que les id correspondent.
  • Ou bien, si par exemple on récupère du HTML d'une source externe, et qu'on n'est pas sûr que l'élément existe, tester sa valeur avant de le modifier :
var element = document.getElementById('element-inconnu');
if(element !== null) {
  element.innerHTML = "Contenu ajouté si l'élément existe";
}