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 :

Changer plusieur style avec des IDs différents?


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 161
    Points : 116
    Points
    116
    Par défaut Changer plusieur style avec des IDs différents?
    Bonjour,

    J'ai un arbre de ce genre :
    Code : 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
    <ul class="monArbre">
      <li id="litoto"><a id="atoto">toto</a>
        <ul>
            <li id="litata1"><a id="atata1">tata1</a>
                  <ul>
                      <li id="lititi1"><a id="atiti1">titi1</a></li>
                      <li id="lititi2"><a id="atiti2">titi2</a></li>
                  </ul>
            </li>
            <li id="litata2"><a id="atata2">tata2</a></li>
        </ul>
      </li>
      <li id="litoto1"><a id="atoto1">toto1</a></li>
      <li id="litoto2"><a id="atoto2">toto2</a></li>
      <li id="litoto3"><a id="atoto3">toto3</a></li>
    </ul>
    J'aimerais surligner un seul des items quand je clique dessus par exemple.
    Donc j'ai fais une fonction du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function selectItem (ident) {
      MonLien = document.getElementById('a'+ident);
      MonLien.style.color='blue';
    }
    Mais si j'en ai déjà un de sélectionner j'aimerais le désélectionner.
    J'aimerais savoir si il est possible avec javascript de lui dire simplement de mettre style.color='black' pour tous les id commençant par la lettre ‘a’?

    Merci d’avance

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 194
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 194
    Points : 8 404
    Points
    8 404
    Billets dans le blog
    17
    Par défaut Re: Changer plusieur style avec des IDs différents?
    Citation Envoyé par YanK
    Mais si j'en ai déjà un de sélectionner j'aimerais le désélectionner
    Tu peux conserver la <a> précédent dans une variable globale que tu mettras à jour dans selectItem( ) qd l'utilisateur clique sur un autre lien.

    J'aimerais savoir si il est possible avec javascript de lui dire simplement de mettre style.color='black' pour tous les id commençant par la lettre ‘a’?
    Récupérer tous les <a> de ton arbre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var as = document.getElementById("monArbre").getElementsByTagName("a") ;
    => Il ne te reste qu'à parcourir le tableau as et d'agir en conséquence de as[i].id.charAt(0)
    Mais il serait peut-être plus simple de passer par la variable globale.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 161
    Points : 116
    Points
    116
    Par défaut
    Merci nickel avec une variable globale. Je ne pensais pas qu'on pouvait utiliser des variables globales en javascript et j'avais un peu peur du fonctionnement de variables globales avec javascript.
    Donc ça marche nickel et je donne le code pour ceux que ça intéresse

    Déclaration globale :
    Ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function selectRep (ident) {
      if (MonLien) {
        MonLien.style.color='black';
      }
      if (MonLien = framDir.document.getElementById('a'+ident)) {
        MonLien.style.color='blue';  
      }
    }
    Merci

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/03/2014, 20h19
  2. Réponses: 1
    Dernier message: 18/02/2014, 16h32
  3. Export de plusieurs tables avec des query différents
    Par debdba dans le forum Import/Export
    Réponses: 8
    Dernier message: 24/05/2012, 11h22
  4. Réponses: 40
    Dernier message: 02/12/2007, 16h24
  5. Réponses: 6
    Dernier message: 31/07/2007, 16h15

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