Partage
  • Partager sur Facebook
  • Partager sur Twitter

retrouver le display dans le dom

Sujet résolu
    25 août 2010 à 15:22:51

    Bonsoir. j'ai un petit souci débile qui me prend bien la tête en ce moment, voila le topo.


    Pour trouver la valeur de l'attribut 'display' d'un block, je fait :
    console.log(document.getElementById("idElement").style.display.value);
    


    mais ce satané browser ne trouve rien de mieux a me réponde que Undefined ou (an empty String) si on enlève le .value
    J'ai plusieurs éléments avec display:none et display:block et j'ai bien vérifier que leur valeur était définie.

    Je suppose que c'est mon chemin d'accès qui est pas bon, mais je ne parvient pas à trouver cette saleté de valeur. Je suis sur que la soluce est très bète, mais je la vois pas :( .
    Halp me please
    • Partager sur Facebook
    • Partager sur Twitter
      25 août 2010 à 15:32:10

      sans le value c'est mieux ;)
      • Partager sur Facebook
      • Partager sur Twitter
        25 août 2010 à 15:36:37

        console.log(document.getElementById("contact").style.display.value); /* --> undefined */
        console.log(document.getElementById("contact").style.display); /* --> ( an empty String ) */
        
        /* fantastique mais je veux que tu m'affiche none ou block à la place  */
        
        • Partager sur Facebook
        • Partager sur Twitter
          25 août 2010 à 15:41:08

          var test = document.getElementById("test");
          var bidule = test.style.display;
          alert(bidule);
          

          Ce code "basique" renvoie bien la valeur à travers bidule (désolé j'étais pas inspirer niveau nom :lol: ).
          • Partager sur Facebook
          • Partager sur Twitter
            25 août 2010 à 15:54:18

            pas grave, mais en procédant de même j'obtient un popup vide :(

            plus d'info

            <div id="contact">
            <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis placerat velit non ipsum auctor viverra. Quisque tempor sagittis tortor, vel ultricies velit interdum ac. Proin feugiat ultricies interdum. Aliquam et tincidunt mi. Nullam pharetra dui id diam dictum tempus. Ut tempus dapibus semper. Nullam in lacinia libero. Donec enim ipsum, scelerisque varius blandit sagittis, laoreet bibendum sem. Nulla facilisi. Sed ac dignissim lorem. Aenean sit amet odio at augue blandit porttitor. Nullam a neque id purus faucibus bibendum. Sed sem nisl, aliquet id posuere in, euismod sit amet elit. In placerat consequat iaculis. Maecenas ullamcorper bibendum placerat. Morbi sodales dolor condimentum sapien dignissim adipiscing. Phasellus iaculis lobortis semper. Mauris rutrum, arcu id fermentum iaculis, dolor dui faucibus massa, vel luctus mauris dui malesuada lectus. In hac habitasse platea dictumst.
            </p>
            <hr />
            </div>
            



            #content #contact {
            	display: none;
            }
            /* effectivement je ne le vois pas dans ma page */
            


            console.log(document.getElementById("contact").style.display);
            /* me donne la réponse : (an empty String) */
            


            Edit : copier collé foireux a été corrigé
            • Partager sur Facebook
            • Partager sur Twitter
              25 août 2010 à 16:00:38

              ça donne pas beaucoup d'infos.
              Tu récup l'id "base" (qu'on voit nul part), tu récup le document via console.log(...), pareil on a pas d'infos dessus.
              Mais tu nous donne "contact" et son css, qui fait référence à rien en Js :-° .
              • Partager sur Facebook
              • Partager sur Twitter
                25 août 2010 à 16:09:24

                désolé, en essayant de faire simple, je suis de moins en moins clair ^^

                1st : console.log permet d'inscrire une entrer dans le registre console sous firefox, j'utilise le plugin firebug pour le lire. ca permet d'eviter les popup qu'on a avec alert()

                Pour l'id "base" c'est un copié collé foireux, mais "base" fonctionne comme "contact" a la différence près que #base = display : block et #contact = display: none

                si tu veux une vision complète du code, c'est par ici http://82.216.131.97/genesis/
                • Partager sur Facebook
                • Partager sur Twitter
                  25 août 2010 à 16:17:51

                  Le problème est simple : Tu définis le display dans le CSS.

                  EDIT: http://www.siteduzero.com/forum-83-327 [...] html#r3848356
                  Tu ferais bien de jeter un oeil à ça, ou de définir le style directement dans la balise style de la balise que tu veux regarder.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    25 août 2010 à 16:20:34

                    Ah d'accord j'ai firebug aussi mais j'utilise pas encore toute ces fonctions (j'avoue que je connaissais absoluement pas ceci).
                    Sinon je trouve ta méthode un peu "brutal" pour afficher juste des divs (enfin c'est que mon avis :p ).
                    (sinon pour le problème je pense que birdy42 t'as répondus ;) ).
                    • Partager sur Facebook
                    • Partager sur Twitter
                      25 août 2010 à 16:28:39

                      Le but du jeu c'est de n'afficher qu'une seul div à la fois. c'est très brutal pour un simple show/hide mais je prépare le terrain pour faire un pluggin jQuerry.

                      Par contre pour mon problème ca veux dire que les propriétés donner par CSS ne sont pas modifiable par javascript ?! O.o
                      je vais lire attentivement l'article mais en attendant, je vais mettre les propriété dans les balises.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        25 août 2010 à 16:48:22

                        Si, elles sont modifiables, mais difficilement récupérables.
                        Le topic en lien t'aidera à avoir une fonction pour les récupérer.
                        • Partager sur Facebook
                        • Partager sur Twitter

                        retrouver le display dans le dom

                        × 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