2010-01-18 5 views
4

j'ai ceci:Jquery next() Problème

<div class="selection"> 
<a class="current" href="#">1</a> 
<div class="class">text</div> 
<a href="#">2</a> 
<div class="class">text</div> 
<a href="#">4</a> 
<div class="class">text</div> 
<a href="#">5</a> 
</div> 

je veux choisir le lendemain un élément après a.current. Je l'ai fait, mais ça marche.

...

$(".selection a.current").next("a").hide(); 

J'ai aussi essayé

$(".selection").children("a.current").next("a").hide(); 

... Arent tous les a's à l'intérieur .selection frères et sœurs et donc être accesable avec le sélecteur suivant()? Je me demande, parce que cela fonctionne quand je supprime les éléments div entre eux.

Serait bien si quelqu'un sait pourquoi cela ne fonctionne pas;).

Répondre

8

De jQuery API browser:

Obtenez le suit immédiatement entre frères et soeurs de chaque élément de l'ensemble des éléments correspondants , éventuellement filtré par un sélecteur .

Ce n'est pas le frère suivant immédiatement. Vous pouvez essayer d'utiliser nextAll et en ajoutant un sélecteur :first:

$(".selection a.current").nextAll("a:first").hide(); 
+0

merci, je comprends maintenant ... mais encore une chose..si je voudrais sélectionner le précédent un élément (en supposant que le dernier a dans la sélection avait la classe actuelle) .. comment cela fonctionnerait-il. j'ai essayé: $ (". selection a.current"). prevAll ("a: first"). hide(); cela ne devrait-il pas fonctionner également dans l'autre sens? btw: J'essaye de construire une liste qui est sélectionnable avec les flèches de direction. – Hans

+0

Essayez d'utiliser: last au lieu de: first dans ce cas. Aussi, quand une réponse a répondu à votre question, assurez-vous de cliquer sur la coche à côté :) – Matchu

4

Essayez:

.nextAll("a:first"); 

Et pour obtenir la précédente:

.prevAll("a:first"); 

Démo en ligne: http://jsbin.com/ayasa

+1

... hoooooly pression. Je souhaitais qu'il y ait un site comme JS Bin depuis un moment, mais je n'ai jamais regardé parce que je n'ai jamais pensé que ça pourrait vraiment arriver. Merci: o – Matchu

+0

@Matchu: C'est génial pour travailler rapidement des exemples jQuery :) – Sampson

+0

... juste maintenant utilisé dans une autre réponse. Ma vie est tellement plus heureuse maintenant. – Matchu