C'est bien ce que je pensais
Définir une fonction, c'est bien, mais elle ne sera exécutée qu'une fois qu'elle aura été appelée. Ensuite, je ne sais pas quelle est l'action qui doit déclencher son exécution, mais si tu veux qu'elle se lance au chargement de la page, il faut attendre que les éléments qu'elle affecte soient présents dans la page, typiquement, on attend l'événement load de l'objet window, donc dans ton cas, il faudra rajouter :
window.onload = changecouleur;
Tu noteras qu'il n'y a pas de parenthèses à changecouleur. C'est parce que onload est une propriété, tu dois donc lui affecter une valeur, dans le cas présent, cette valeur est la référence à la fonction, donc lorsque l'événement onload est déclenché, la fonction référencée est exécutée, si tu mets des parenthèses pour l'affectation, c'est le résultat de l'exécution de la fonction qui sera affecté à la propriété, ce qui n'est pas (ici) le comportement souhaité.
Partager