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 :

Appliquer plusieurs styles sur une chaine [API HTML5]


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de zozoman
    Homme Profil pro
    Futur ex-prof
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Futur ex-prof
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Points : 72
    Points
    72
    Par défaut Appliquer plusieurs styles sur une chaine
    Bonjours à tous,

    je voudrais afficher les erreurs sur une chaine de caractère : par exemple, si la chaine contient 2 opérateurs consécutifs, le 2ème opérateur est coloré en rouge.

    J'ai réussi à récupérer le début de la chaine et le dernier caractère de la chaine mais je n'arrive pas à colorer seulement le dernier caractère en rouge.(toute ma chaine change de couleur ou une seule partie de ma chaine s'affiche)

    L'id de la zone ou est extrait la chaine et ou est affiché la chaine est : ecranCalculatrice

    Voici mon code :
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    function surlignerDernierCaractere(chaine, monDiv){
        var longueurChaine = chaine.length;
        if(longueurChaine===0){
            ; // Ne rien faire
        }
        else if(longueurChaine===1){
            var correction=chaine.substring(chaine.length-1, chaine.length);
            alert("1 seul caractère : "+correction);
            document.getElementById(monDiv).innerHTML=correction;
            document.getElementById(monDiv).style.color="red";
        }
        else{
            var correction1=chaine.substring(0, chaine.length-1);
            alert("début chaine"+correction1);
            var correction2=chaine.substring(chaine.length-1, chaine.length);
            alert("dernier caractère : "+correction2);
            document.getElementById(monDiv).innerHTML=correction1;
            document.getElementById(monDiv).innerHTML=correction2;
        }
    }

    Pourriez vous m'aider, merci d'avance

    J'aurais bien une idée mais ça me parait bien compliqué : créer 2 balises span : une pour la partie juste en noir et une pour la partie fausse en rouge, chacune des span ayant une classe spécifique. Auriez vous d'autres propositions ?

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Tu ne peux pas appliquer un style à une chaine...
    Les styles s'appliquent uniquement à une balise (et donc à son contenu).

    Sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(longueurChaine===1){
        var correction=chaine.substring(chaine.length-1, chaine.length);

    Tu aimes te compliquer la vie apparemment... Tu pourrais m'expliquer quelle est la différence entre chaine et correction ? Et par suite, quelle est l'utilité de correction ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    document.getElementById(monDiv).innerHTML=correction1;
    document.getElementById(monDiv).innerHTML=correction2;
    Bis de la remarque précédente... A quoi ça sert d'affecter un contenu à une balise si tu l'écrases à la ligne suivante ?

  3. #3
    Membre régulier Avatar de zozoman
    Homme Profil pro
    Futur ex-prof
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Futur ex-prof
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Points : 72
    Points
    72
    Par défaut
    Merci Bovino pour tes remarques,

    J'ai bien des difficultés a comprendre le JS. Je pensais que mon premier innerHTML allait dans le div et que le second était écrit à la suite du premier, pas qu'il écrasait le premier.

    Merci pour ton aide

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    J'ai bien des difficultés a comprendre le JS
    C'est sûr que l'opérateur = est très spécifique à JavaScript... Dans tout les autres langage, il effectue une concaténation je suppose.

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

Discussions similaires

  1. Appliquer son style sur une certaine partie de la page
    Par Invité dans le forum Mise en page CSS
    Réponses: 14
    Dernier message: 13/04/2015, 10h57
  2. [CSS 3] Appliquer un style sur une sous-balise
    Par L'aigle de Carthage dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 05/09/2013, 15h41
  3. Réponses: 0
    Dernier message: 21/05/2012, 11h31
  4. Réponses: 5
    Dernier message: 22/07/2005, 23h40
  5. Appliquer plusieurs styles à une zone
    Par hdd dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 03/12/2004, 15h46

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