Partage
  • Partager sur Facebook
  • Partager sur Twitter

récupérer des identifiants dynamiques avec getElementById

Sujet résolu
    21 avril 2011 à 1:46:02

    bonjour,

    je cherche à afficher des lignes (tr) dont les id commencent par ("ligne")

    existe t'il un moyen qui permet de le faire comme le (like %) en sql


    c'est en quelque sorte ce que je cherche:


    var items = document.getElementsByTagName('tr');
    
    for(var i=0; i<lignes.length; i++)
    {
    
    //je veux vérifier si l'id de l'élément commence par "ligne"
    if items[i].getElementById("ligne_***" ) 
    {
    
      items[i].style.display = 'block'
    }
    }
    



    merci d'avance pour votre aide :)
    • Partager sur Facebook
    • Partager sur Twitter
      21 avril 2011 à 7:43:15

      Bonne question. En jQuery c'est très facile : $('[id^="ligne_"]');
      Par contre en JS pur aucune idée. :/
      • Partager sur Facebook
      • Partager sur Twitter
        21 avril 2011 à 14:15:14

        tu peux faire un test sur l'id de cette façon là:

        // on crée une expressions régulière
           var re = new RegExp("ligne_[0-9]*");
        
           // on vérifie si l'id correspond à la forme de l’expression voulu.
           var match = re.exec(items[i].id);
        
           if(match !== null)
           {
              items[i].style.display = 'block'
           }
        


        pour plus d'informations sur les expressions régulière, c'est par ici:
        https://developer.mozilla.org/fr/R%C3% [...] lobaux/RegExp
        • Partager sur Facebook
        • Partager sur Twitter
          21 avril 2011 à 15:28:16

          Merci boucoup A_T_J, j'ai utilisé ton code et ça marche :)

          J'ai juste remplacer "ligne" par une variable n

          voici la fonction définie dans le head:

          function afficher(n)
          {
          // on crée une expressions régulière
          var re = new RegExp(n+"[0-9]*");
          
          var items = document.getElementsByTagName('tr');
          
          for(var i=0; i<items.length; i++)
          {
          
             // on vérifie si l'id correspond à la forme de l’expression voulu.
             var match = re.exec(items[i].id);
          
             if(match !== null)
             {
                items[i].style.display = 'block'
             }
          }
          }
          



          puis l'événement on click sur une image:

          <!-- lorsqu'on click sur l'image, on fait appel à la fonction afficher qui prend comme paramétre la variable $n-->
          <img src="/images/fleche-bas.gif" alt="afficher les tâches" onclick="afficher('<?php echo $n; ?>')" />
          



          puis on affiche les lignes tr dont l'id commence par $n

          <?php
          foreach ($taches as $tache)
          {
          $n2=$n2+1;
          ?>
          
          
            <tr  id="<?php echo $n.$n2; ?>" style="display:none">
          </tr>
          
          <?php
          }
          ?>
          


          voilà mon code et ça marche !! Encore merci
          • Partager sur Facebook
          • Partager sur Twitter

          récupérer des identifiants dynamiques avec getElementById

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown