2010-12-08 23 views
0

Mon html est quelque chose comme ceci:jquery bascule individuellement

<a class="tableheadlink" href="#">Impressions</a> <a href="#"><img src="images/table-sort.png" alt="" /></a> 
<div class="filter-head"> 
    <form> 
     <select name="website" class="rounded-all no-padding"> 
      <option value="opt1">&gt;</option> 
      <option value="opt2">&lt;</option> 
      <option value="opt3">=</option> 
     </select> 
     <input name="q" type="text" class="rounded-all small"> 
    </form> 
</div> 

jquery quelque chose comme ceci:

 $(".filter-head").hide(); 
     $("a.tableheadlink").click(function(){ 
      $(".filter-head").toggle(); 
      return false; 
     }); 

Comment je ne dis pour passer chaque instant de la section html individuellement? Il y a environ 10 instances sur la page et la bascule va simplement basculer tout en utilisant mon code.

Merci

Répondre

2

Vous devez trouver le .filter-head que vous voulez relative à this, par exemple:

$(".filter-head").hide(); 
$("a.tableheadlink").click(function(){ 
    $(this).nextAll(".filter-head:first").toggle(); 
    return false; 
}); 

Ce que cela fait est d'aller de this puis utilise .nextAll() avec votre sélecteur de classe et obtient la :first un il se rencontre pour basculer. La raison pour .nextAll() au lieu de .next() est qu'il y a cet autre lien entre-deux.

+0

Merci Nick. En guise de suivi, j'ai un problème très similaire à cette question. J'ai pensé une fois que je savais comment cela a été fait, je pourrais travailler sur le reste, mais évidemment pas. Jetez un oeil ici si vous pouviez http://jsfiddle.net/nYRqa/11/ Le div de toggle ici est en dehors du lien alors comment est-ce que je choisirais ceci? J'ai essayé tous les sélecteurs que vous avez liés, mais je n'arrive pas à le résoudre ... Appréciez le compagnon d'aide. – Blackbird