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 :

Texte ne s'affiche pas


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    November 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : November 2010
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Texte ne s'affiche pas
    Bonjour,
    pourquoi mon texte ne s'affiche pas ?
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <script src="javascript01.js"></script>
    <body>
        <div class="00">"zero"</div>
        <div class="01">"un"</div>
        <div class="02">"deux"</div>
    </body>
    </html>


    et le Javascript est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByClassName('01').innerText = "Hello World";
    merci.

  2. #2
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    April 2005
    Messages
    1 641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : April 2005
    Messages : 1 641
    Points : 1 968
    Points
    1 968
    Par défaut
    Bonjour, c'est l'erreur classique => document.getElementsByClassName renvoie un objet de type tableau de tous les éléments enfants qui ont tous les noms de classe donnés !
    donc :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByClassName('01')[0].innerText = "Hello World";

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    January 2011
    Messages
    16 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : January 2011
    Messages : 16 807
    Points : 43 523
    Points
    43 523
    Par défaut
    Bonjour,
    autre point en plus, le script s’exécute avant que l'élément ne soit présent dans le DOM, cela entraine une erreur à regarder dans la console (F12)

  4. #4
    Membre éclairé
    Homme Profil pro
    Webdesigner
    Inscrit en
    June 2014
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Associations - ONG

    Informations forums :
    Inscription : June 2014
    Messages : 402
    Points : 805
    Points
    805
    Par défaut
    Citation Envoyé par Archimède Voir le message
    document.getElementsByClassName renvoie un objet de type tableau
    Oui, et dans le cas où l'on n'a qu'un seul élément à afficher, autant utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.querySelector('.01')

  5. #5
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    November 2018
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : November 2018
    Messages : 127
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    Bonjour,
    autre point en plus, le script s’exécute avant que l'élément ne soit présent dans le DOM, cela entraîne une erreur à regarder dans la console (F12)
    du coup, on peut mettre un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     document.addEventListener("DOMContentLoaded")
    pour qu'il exécute ton code une fois que le DOM est chargé.

    Bonne journée

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    March 2002
    Messages
    39 620
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : March 2002
    Messages : 39 620
    Points : 66 637
    Points
    66 637
    Billets dans le blog
    1
    Par défaut
    Je ne sais pas si c'est toujours d'actualité, mais à une certaine époque il était fortement déconseillé d'utiliser des id et nom de classe uniquement numériques.
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    January 2011
    Messages
    16 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : January 2011
    Messages : 16 807
    Points : 43 523
    Points
    43 523
    Par défaut
    Citation Envoyé par domi65
    document.querySelector('.01')
    Cela va planter alors que document.getElementsByClassName("01") non!

    C'est possible mais en écrivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.querySelector(".\\30 1")
    donc vraiment chi..t !
    Bon on peut quand même le retrouver facilement en utilisant CSS.escape("01").



    Citation Envoyé par SpaceFrog
    Je ne sais pas si c'est toujours d'actualité,
    toujours ...
    Citation Envoyé par https://www.w3.org/TR/CSS2/syndata.html#characters
    En CSS, les identificateurs (y compris les noms d'éléments, les classes et les ID dans les sélecteurs) ne peuvent contenir que
    les caractères [a-zA-Z0-9] et les caractères ISO 10646 U+00A0 et plus, plus le trait d'union (-) et le trait de soulignement (_) ;
    ils ne peuvent pas commencer par un chiffre, deux traits d'union ou un trait d'union suivi d'un chiffre.

    Quoiqu'il arrive une ID devrait être représentative de ce qu'elle désigne.

Discussions similaires

  1. Réponses: 6
    Dernier message: 25/02/2015, 12h17
  2. [CKEditor] besoin d'aide pour un lien embed affiché dans fckeditor mais pas sur la page du site
    Par cedrus dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 29/09/2012, 00h02
  3. Besoin d'aide sur regexp javascript
    Par SpLiFFman dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 01/06/2010, 13h47
  4. Réponses: 1
    Dernier message: 02/12/2008, 11h29
  5. Réponses: 0
    Dernier message: 04/05/2008, 19h07

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