IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Erreur : Cannot set property 'color' of undefined


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    sans
    Inscrit en
    Mars 2020
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2020
    Messages : 182
    Points : 117
    Points
    117
    Par défaut Erreur : Cannot set property 'color' of undefined
    Bonjour

    Je cherche à modifier la couleur d une classe(item) dans une div(navbar).
    Je ne maitrise pas vraiment javascript mais selon moi, le code ci après correspond à cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('navbar').getElementsByClassName('item').style.color = "green";
    Mais j ai le message d erreur suivant que je ne m explique pas (je le comprends mais ne comprends pas pourquoi il ne peut accéder à cette propriété dés lors où elle est déclarée)
    Cannot set property 'color' of undefined

    Ma classe item est déclarée comme cela:
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #navbar .item {
        float: left;
        display: block;
        text-align: center;
        color: $white;
        text-decoration: none;
        white-space: nowrap;
        padding: 1.5rem;
        cursor: pointer;
    }

    et ma page structurée ainsi:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div id="navbar">
        <div class="container-nav">        
            <a href="" class="item">le lien</a>

    Tous vos commentaires seront les bienvenus.
    Merci pour votre aide

  2. #2
    Membre régulier Avatar de tag9724
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2021
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2021
    Messages : 64
    Points : 113
    Points
    113
    Par défaut
    En Javascript element.getElementsByClassName() renverra une liste d'éléments ce qui fait que dans ton ton cas getElementsByClassName('item').style retourneras undefined.

    Il faudra à la place faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('navbar').getElementsByClassName('item')[0].style.color = "green";
    Ou alternativement tu peux aussi sélectionner ton élément avec un element.querySelector()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.querySelector("#navbar .item").style.color = "green";

  3. #3
    Membre régulier
    Homme Profil pro
    sans
    Inscrit en
    Mars 2020
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2020
    Messages : 182
    Points : 117
    Points
    117
    Par défaut
    Merci, j ai compris !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur: Cannot read property 'done' of undefined
    Par MInfo25 dans le forum React
    Réponses: 1
    Dernier message: 01/05/2020, 17h43
  2. Erreur : Uncaught TypeError: Cannot set property
    Par Sarah2627 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/05/2019, 15h28
  3. Message d'erreur cannot read property 'box' of undefined"
    Par homeland21 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/01/2018, 16h53
  4. Erreur : TypeError: Cannot read property 'test' of undefined
    Par deathness dans le forum AngularJS
    Réponses: 1
    Dernier message: 11/05/2016, 10h42
  5. Réponses: 3
    Dernier message: 30/05/2015, 12h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo