Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2848 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [jquery] Question de débutant...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[jquery] Question de débutant...

n°1900570
Morningkil​l
Posté le 30-06-2009 à 14:20:18  profilanswer
 

Voici ma structure html :

Code :
  1. <button id="btndistrib1" class="btnDistrib">Display</button>
  2. <div id="distrib1" style="display:none"> </div>
  3. <button id="btndistrib2"  class="btnDistrib" >Display</button>
  4. <div id="distrib2" style="display:none"> </div>


 
Je voudrai que quand on clic sur un bouton, la div correspondante s'affiche/se cache.
Bon, je peux le faire "bêtement", en écrivant un onclick sur chacun de mes boutons, mais je me dis qu'en Jquery, on doit pouvoir faire mieux.
Le souci, c'est que j'arrive pas a trouver la div a partir du bouton... Je m'explique, je voulais faire ceci :

Code :
  1. $("button.btnDistrib" ).click(function(e){
  2.      $(e.target + "div" ).toggle("slow" );
  3.     });


bien entendu, le bout en gras est même pas valide.
J'ai aussi testé  

Code :
  1. $(e.target).find('div:first')


mais ca marche pas (parceque tout betement, ma div est pas descendante du button, j'imagine...)
 
Merci !


Message édité par Morningkill le 30-06-2009 à 14:22:35
mood
Publicité
Posté le 30-06-2009 à 14:20:18  profilanswer
 

n°1900571
pataluc
Posté le 30-06-2009 à 14:20:47  profilanswer
 

édite ton post et utilise la balise [code] stp. (bouton http://forum-images.hardware.fr/icones/message/c.gif)


Message édité par pataluc le 30-06-2009 à 14:21:07
n°1900578
pataluc
Posté le 30-06-2009 à 14:39:20  profilanswer
 

je connais pas (trop) jquery,mais tu dois pouvoir faire ca:

Code :
  1. $("button.btnDistrib" ).click(function(e){
  2.         $(e.target.id.substring(3)).toggle("slow" );
  3.       });
 

tu récupère l'id, comme c'est le même à "btn" près, tu enlève "btn" et c'est bon...


Message édité par pataluc le 30-06-2009 à 14:39:59
n°1900586
pataluc
Posté le 30-06-2009 à 14:56:07  profilanswer
 

ou plutot ca:

Code :
  1. $("button.btnDistrib" ).click(function(e){       
  2.         $("div#"+e.target.id.substring(3)).toggle("slow" );       
  3.       });

(j'avais prévenu je connais pas jquery, du coup j'utilisais mal les sélecteurs

n°1900590
Morningkil​l
Posté le 30-06-2009 à 14:57:26  profilanswer
 

Effectivement, entre tes deux réponses, j'ai fait ca

Code :
  1. $("#"+e.target.id.substring(3)).toggle("slow" );


et ca marche.

 

Mais c'est encore mieux avec le div, je crois que c'est plus performant.

 

Merci !


Message édité par Morningkill le 30-06-2009 à 15:06:09

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [jquery] Question de débutant...

 

Sujets relatifs
Créer une ListBox (débutant)Sessions problème de débutant
debutant en programation besoin d'aide[C#] Questions de débutant...
Encore une question sur la pagination dans une feuille Excel[Débutant][OpenGL ES] Problème affichage textures
[javascript|jquery] affichage dynamique d'une image ds un divQuestion sur mon exo BDA
[Besoin d'aide]: Problème de jQueryPrototype : équivalent de jQuery.find() avec prototype ?
Plus de sujets relatifs à : [jquery] Question de débutant...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR