11548 sujets

JavaScript, DOM et API Web HTML5

Salut,

J'ai une liste <ul> de la forme :

<ul>
   <li>
      <a class='titre'>titre1>/a>
      <ul><li>hahaha</li></ul>
   </li>
   <li>
      <a class='titre'>titre2>/a>
      <ul><li>hihihi</li></ul>
   </li>
</ul> 

Avec jQuery je veux qu'en cliquant par ex sur 'titre1' ca cache juste la liste <ul> en dessous de titre1.

Autrement dit je veux faire un truc du genre :

$(".titre").click(function(){
   $("this > ul").toggle();		
});

Sauf que ca ca marche pas vu que $("this") veut pas dire grand chose. Mais vous comprenez ce que je veux faire ! Une idée ?
Modifié par apericube (09 Jan 2010 - 23:21)
Si ton ul à cacher est unique et sera toujours juste après le a :


$(".titre").click(function(){ 
   $(this).next("ul").toggle();         
}); 


S'il peut y avoir quelque chose entre le a et le ul :

* cache uniquement le premier :

$(".titre").click(function(){ 
   $(this).nextAll("ul:first").toggle();         
}); 


* cache tous les ul sous le a :

$(".titre").click(function(){ 
   $(this).nextAll("ul").toggle();         
});