Partage
  • Partager sur Facebook
  • Partager sur Twitter

jeu de plateau recuperer 100 Id

getElementById massif plusieurs ID

Sujet résolu
Anonyme
    20 août 2016 à 22:06:41

    Bonjour, qques recherches sur le forum m'ont répondu non. J'aimerais en avoir le coeur net :

    Pour mes 100 cases de jeu de plateau, est-il vraiment obligé de récupérer 1 à 1 (soit 100 lignes) les 100 id de mes cases ?

    Ou est-il possible de factoriser ?

    Merci.

    • Partager sur Facebook
    • Partager sur Twitter
      21 août 2016 à 12:23:46

      Salut,

      pour simplifier tu pourrais donner une classe commune à chaque case, puis utiliser getElementsByClassName afin d'obtenir un tableau que tu peux parcourir. Il suffit alors de clicker sur une case pour obtenir son Id.

      Voire aussi avec querySelectorAll

      • Partager sur Facebook
      • Partager sur Twitter
      Stéphanie, blonde mais je me débrouille (....?) ** Mon sondage: mode Dark VS mode Clean
      Anonyme
        23 août 2016 à 19:19:32

        Merci ! EN effet c'est moins redondant.

        <table class="plateau" id="plateau">
        
        <tr><td id="a1" class="uneCase"></td><td id="a2"class="uneCase"></td>
        				<td id="a3" class="uneCase"></td>
        
        ...

        2 choses néanmoins :

        a) Manifestement ça n'est pas possible de procédé par héritage (mettre la class à <table> ou <tr>) pour éviter de mettre la classe à tous mes <td> (d'autant on se retrouverait avec le/les éléments parents en  "trop"). Je n'ai rien vu de tel, mais est-il possible d'attribuer massivement une classe à un type d'élément (attribuer telle classe à tous les <td> de ma page) ?

        b) Je manque de perspective sur ce projet, à priori je vais retirer les id des <td>, l'index de mon tableau en faisant office. Mais un avis est toujours bienvenue.

        Merci

        [edit] :

        c) ah et tant qu'on y est, je créer un objet calqué sur l'array récupéré avec getElementsByClassName, en mettant un code numérique ( 0 case vide , 1 case grisée). Est-ce un bon moyen où mieux vaut t-il viser qqchose de plus propre ?

        Merci à d'éventuels conseils ^^

        -
        Edité par Anonyme 23 août 2016 à 19:24:14

        • Partager sur Facebook
        • Partager sur Twitter
          24 août 2016 à 9:35:21

          Salut,

          Tu veux faire du JS pur ou jQuery ne te dérange pas?

          Parce que sinon c'est très facile en jQuery (adaptable en Js bien entendu, mais plus chiant). Je ne suis pas sur d'avoir tout compris à ta problématique mais je t'ai fait un rapide script js :

          https://jsfiddle.net/s3rcwb1m/

          • Partager sur Facebook
          • Partager sur Twitter
          Quand tu ne sais pas, Google reste ton meilleur ami ! ;)
            24 août 2016 à 10:00:07

            S'agissant d'un tableau HTML les lignes et colonnes sont accessibles avec les méthodes du DOM et notamment rows qui retourne la collection des lignes puis cells qui retourne celle des cellules. Voir par exemple w3scholls.com HTML DOM Table Object

            • Partager sur Facebook
            • Partager sur Twitter
              24 août 2016 à 10:49:27

              Tu peux sélectionner tes cases "facilement" avec un selecteur css de la forme

              #plateau td

              ce qui peux être utilisé en js avec

              document.querySelectorAll('#plateau td');


              Tu peux faire un petit script pour générer ton tableau.

              Par exemple:

              https://jsfiddle.net/hz2hwh8z/2/

              Avec un petit bouton pour récupérer chaque case. (j'ai mit un id sur chaque case mais comme tu le vois il n'est pas utilisé par le bouton.)

              Edit et avec un petit listener sur les cases pour afficher la ligne/colonne mais là ca devient plus simple d'utiliser l'id mais vu qu'il est généré ca reste assez simple:

              https://jsfiddle.net/hz2hwh8z/4/

              -
              Edité par Krogoth 24 août 2016 à 11:30:39

              • Partager sur Facebook
              • Partager sur Twitter
              Un petit +1 si je vous ai aidé est toujours appréciable :).
              Anonyme
                26 août 2016 à 17:24:02

                @bryan33000  : non dans l'idée je restais en JS "pur" pour le moment, car pas trop le temps et déjà bien éparpillé, puis en terme pédagogique, je préfère bien mariner en js avant de voir jquery (dans l'idée de bien "comprendre les rouages (à voir si c justifié)).

                @Krogoth : MErci, ct vraiment ça que je cherchais, pour économiser des caractères sur le doc.html, il est vrai que @pipelette13 m'avait mis sur la voie..

                document.querySelectorAll('#plateau td');



                @007julien merci aussi. Vos réponses se complétaient bien. Merci pour vos scripts même si j'ai pas encore tout compris  :euh:

                Au moins je peux avancer !!

                -
                Edité par Anonyme 26 août 2016 à 17:24:39

                • Partager sur Facebook
                • Partager sur Twitter

                jeu de plateau recuperer 100 Id

                × 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