2009-07-03 5 views
0

Je le jquery: $ (« article ».)trouver l'élément précédent dans un tableau JQuery

qui me donne tous les éléments du point de classe.

J'ai besoin de sélectionner un élément du tableau obtenu à partir de cette méthode, puis de trouver l'élément avant cela.

quelque chose comme:.. $ (». Article ") select (" # 3") prev() - sauf qu'il devrait fonctionner :)

donc, en supposant que j'avais la liste des articles:

<div id=1 class="item"></div> 
<div id=2 class="item"></div> 
<div class="somethingElse"></div> 
<div id=3 class="item"></div> 
<div id=4 class="item"></div> 

Je devrais obtenir l'article "<div id=2></div>".

Des idées?

Répondre

3

prev ne regarde que le frère précédent immédiat. Essayez ceci:

$('#3').prevAll('div.item').eq(0); 

Cela devrait obtenir ce que vous voulez. Comme mentionné par googletorp, faire $('.item').find('#3'); est redondant et plus lent. Les ID sont supposés être uniques, donc vous devriez faire $('#3') directement. Prenez note toutefois que les ID, pour la spécification, are not supposed to start with numbers:

jetons d'identité et le nom doit commencer par une lettre ([A-Za-z]) et peut être suivi par un certain nombre de lettres, chiffres ([0-9]), les traits d'union ("-"), les traits de soulignement ("_"), les deux-points (":") et les points (".").

+0

Parfait, merci :) – Joda

1

Vous n'écrivez pas ce que vous voulez que vous attendez. En fait ce que vous devriez avec votre code est la div avec classElse. Pour obtenir je ferais 2 tu ferais.

$(....).prev(".item"); 

sans args, prev wil obtenir l'élément juste avant dans les DOM, le style mo de la matière ou le type.

Ce que vous faites est à peu près égale à

$("#3").prev() 

seulement plus lent. La première sélection n'a aucun effet sauf si vous utilisez end() mais n'est pas nécessaire pour obtenir des objets par ID de toute façon.

+0

lien vers la documentation: http://docs.jquery.com/Traversing/prev – VolkerK

+0

lorsque je tente avec:. $ ("# 3") prev ("article") Je viens d'obtenir undefined :( – Joda

Questions connexes