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 :

font de couleur


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 16
    Points : 9
    Points
    9
    Par défaut font de couleur
    Bonjour,

    SVP es ce que quelqu'un peu m'aider, je voudrais colorer les additionnelle infos d'une page WEB qui est sous forme de tableau, comme le montre le lien suivant
    http://www.itftennis.com/ITF/Web/Use...nisCateCode=MT

    je veux faire sortir le font de couleur sous le '' [1], (Q), (wc), (Q)", Par exemple le rouge qui sont visible à la fin de chaque ligne

    MERCI beaucoup

  2. #2
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    On dirait que tu as besoin d'un userscript

    Pour commencer je peux te donner un script que tu peux exécuter dans la console, ou bien transformer en bookmarklet. Mais peut-être que si tu installes et découvres Greasemonkey tu trouveras ça plus pratique.

    Bon alors, par où commencer. Si on regarde la structure de la page, on voit que les éléments qui t'intéressent sont des bouts de texte dans des <span class="flagLeft"> En utilisant un sélecteur CSS, ça donnerait : span.flagLeft. On peut donc obtenir une collection de ces éléments en appellant cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.querySelectorAll("span.flagLeft");
    On va également se garder les expressions qui t'intéressent ( [1], (Q), (wc), (Q) ) au début du code d'une manière facile à modifier, par exemple un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var expressions = ["[1]", "(Q)", "(WC)"];
    Avec tout ça, il ne nous reste plus qu'à itérer sur notre collection de spans. Pour ça, les tableaux ont une méthode bien pratique : forEach. Malheureusement, une collection n'est pas un tableau, il faut donc ruser en utilisant le prototype des tableaux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Array.prototype.forEach.call(document.querySelectorAll("span.flagLeft"), function( span ){
       ...
    });
    Nous avons à présent à coder une fonction qui sera appelée sur chaque span. À chaque fois, il faut vérifier si le span contient chacune des expressions qu'on a définies. Tu connais la fonction indexOf ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       expressions.forEach(function( expr ){
          if (span.textContent.indexOf(expr) > -1) {
             ...
          }
       });
    Là c'est la partie la plus technique. Il faut créer un nouveau span à fond rouge, y ajouter l'expression qui correspond, puis l'ajouter au span flagLeft.

    Et enfin ne pas oublier de retirer l'expression du span flagLeft, sinon il y aurait doublon. Pour ça il y a un petit piège, car si on redéfinit un textContent, c'est tout le contenu du span qui est « aplati » en texte, et les liens disparaissent. Il faut agir finement et sélectionner explicitement les nœuds texte et modifier leur attribut data.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
             var spanRouge = document.createElement("span");
             spanRouge.style.background = "red";
             spanRouge.textContent = expr;
     
             var spanText = span.lastChild;
             spanText.data = spanText.data.replace(expr, "");
     
             span.appendChild(spanRouge);
    Voilà, je t'ai donné tous les éléments, à toi de recoller les bouts ensemble !

Discussions similaires

  1. Source d'une DialogBox avec fonte et couleurs
    Par Morgatte dans le forum C++
    Réponses: 2
    Dernier message: 12/09/2012, 16h20
  2. Couleur de fonte dans Canvas
    Par Betcour dans le forum Delphi
    Réponses: 9
    Dernier message: 11/08/2006, 18h18
  3. Combobox avec couleur et font
    Par charaf dans le forum AWT/Swing
    Réponses: 16
    Dernier message: 27/06/2006, 20h12
  4. Réponses: 2
    Dernier message: 21/04/2006, 09h01
  5. Champ texte en deux couleurs de 'font'
    Par zenzen dans le forum Forms
    Réponses: 3
    Dernier message: 13/01/2005, 07h53

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