Partage
  • Partager sur Facebook
  • Partager sur Twitter

récupérer le handle d'un élément

dans une sorte de structure

Sujet résolu
    5 octobre 2009 à 15:43:54

    Bonjour,

    J'ai une structure d'infobulle construite de la façon suivante :
    <div>
       <a>
          <img />
          <span>
          </span>
       </a>
    </div>
    


    Elle est générée par du php a plusieurs endroits de la page.

    Le span constitue l'infobulle et il est déplaçable (l'image sert de repère et donc ne bouge pas)
    J'ai une fonction qui garde ouverte l'infobulle quand on clic sur le span (ou qui annule l'effet s'il est actif) le problème est que si l'infobulle est déplacée loin de son repère, si elle disparait, on ne peut pas la redéplacer (a moins d'utiliser une ruse de sioux)

    Pour simplifier le système je voudrai pouvoir rendre le span visible en cliquant sur le repère.

    Comment est-ce que je peux faire?
    • Partager sur Facebook
    • Partager sur Twitter
      5 octobre 2009 à 15:55:31

      <img onclick="this.parentNode.getElementsByTagName('span')[0].style.display = 'inline';" />
      Je pense :) ou .display = block, en fonction de ce que tu veux.
      • Partager sur Facebook
      • Partager sur Twitter
        5 octobre 2009 à 17:29:16

        Et dieu inventa nextSibling =°
        • Partager sur Facebook
        • Partager sur Twitter
          6 octobre 2009 à 7:56:24

          Sympa... je connaissais pas. Mais bon, ma solution fonctionne aussi :D
          • Partager sur Facebook
          • Partager sur Twitter
            6 octobre 2009 à 10:09:27

            Une nuit plus tard... j'ai perdu ma connexion internet hier :colere2: ...

            Du coup j'ai généré une id pour les infobulles en php et je retrouve mon span avec un getElementById.
            Mais je pense que je vais utilisé une de vos méthodes. Je vois bien ce que fait celle de Birdy42 mais pas trop le "nextSibling=°" (j'arrive pas à le faire fonctionner...) :'(

            J'ai mis :
            onclick="fix(this.nextSibling,event)" dans la balise image, mais pas de résultat

            note : fix c'est la fonction qui fixe les infobulles si elles ne sont pas fixées et qui les défixe sinon.

            Donc comment ça s'utilise nextSibling siouplait? (pour ma culture :) puisque ça fonctionne avec la methode Birdy...)

            merci!
            • Partager sur Facebook
            • Partager sur Twitter
              6 octobre 2009 à 10:16:51

              Essais un alert(this.nextSibling.nodeName); dans le onclick

              Il faut peu être faire un this.nextSibling.nextSibling :/
              • Partager sur Facebook
              • Partager sur Twitter
                6 octobre 2009 à 10:29:21

                Citation : Tiller

                Essais un alert(this.nextSibling.nodeName); dans le onclick



                undefined


                et avec deux nextBibling c'est une erreur JS : "XML descendants internal method called on incompatible text"

                je pense que je dois être dans du texte dans le span?
                • Partager sur Facebook
                • Partager sur Twitter
                  6 octobre 2009 à 10:35:29

                  Le span est le dernier enfant de le "a", donc il crash une erreur si tu continue à faire nextSibling, je pense ...
                  et un :
                  alert(this.nextSibling) ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    6 octobre 2009 à 10:46:03

                    J'ai fait une faute de frappe quand j'ai entré le 2nd nextSibling (j'ai mis deux . entre les deux) :honte:

                    donc le alert tappé normalement c'est SPAN et donc si j'utilise ma fonction avec deux nextsibiling, ça fonctione :D

                    Merci à vous les gens!

                    PS:Tiller, t'es sur que c'est dieu qui a inventé cette fonction? :-°
                    • Partager sur Facebook
                    • Partager sur Twitter
                      6 octobre 2009 à 11:10:53

                      Notre Dieu à nous, le Dieu du JS :-°
                      • Partager sur Facebook
                      • Partager sur Twitter
                        6 octobre 2009 à 11:19:43

                        Il est pas tour mourru ? ^^ ça fait longtemps qu'on l'a pas revu... n'empêche... un peu comme Golmote quoi ;)
                        • Partager sur Facebook
                        • Partager sur Twitter

                        récupérer le handle d'un élément

                        × 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