6
votes

Comment addclass à son indice égal ..... (jQuery)

<ul>
   <li>Index 0</li>
   <li>Index 1</li>
   <li>Index 2</li>
</ul>
<div>
     <a>Index 0</a>
     <a>Index 1 (If i click this this this i want to addClass to it to LI with the same index of this )</a>
     <a>Index 2</a>
</div>

0 commentaires

3 Réponses :


4
votes
$("a").click(function() {
   //Remove classes from other li (per comment)
    $("ul li").removeClass("class");

   //Now update the clicked item
   var length = $(this).prevAll().length;
   $("ul li:eq(" + length + ")").addClass("class");
});

1 commentaires

merci monsieur, mais si je veux seulement addclass lorsque je clique sur ce spécific , alors supprime cette classe si je clique sur un autre



11
votes

Vous pouvez invoquer jQuerys .index () code> Aide sup> méthode à cette fin. Il renvoie l'index relative les frères et sœurs du nœud actuel. Pour trouver le noeud li code> avec l'index configuré, utilisez .eq () code> aide sup> xxx pré>

démo strong>: http://www.jsfiddle.net/2rfn3/ p>

faire référence à votre commentaire i> p>

$('a').click(function() {
   $('ul li').eq($(this).index()).addClass('your_new_class').siblings().removeClass('your_new_class');
});



0
votes

Tout d'abord, vous pouvez ajouter un ID sur la DIV et le LI pour faciliter la sélection.

div#start and ul#target

$("div#start > a").bind("click dblclick",function(){
    $("ul#target:nth-child("+$(this).index()+")").addClass("whatever");    
});


0 commentaires