2012-06-14 3 views
0

Disons que j'ai une liste comme ceci:Sélection intérieur de DIVs

<ul class="list"> 
<li><span class="pos"><div class="txt_pos">1</div></li> 
<li><span class="pos"><div class="txt_pos">2</div></li> 
<li><span class="pos"><div class="txt_pos">3</div></li> 
<li><span class="pos"><div class="txt_pos">4</div></li> 
<li><span class="pos"><div class="txt_pos">5</div></li> 
</ul> 

et mes JS:

$(".list span.pos").each(function(i) { 
    var newOne = i; 
    newRank = getNth(newOne); 

    $("> .txt_pos").slideToggle('slow'); 
    $(this).text(newRank); 

    $("> .txt_pos").slideToggle('slow');       
}); 

Comment puis-je faire sélectionner chaque li parce qu'en ce moment, il est fait chaque liste article à l'ONCE. J'essaie de sélectionner l'enfant du .pos.

+1

Avez-vous essayé '$ (" txt_pos", ce)' au lieu de '$ ("> .txt_pos")'? – Engineer

+2

Quelques conseils - 'span' n'a pas d'étiquette de fin. Ne mettez pas les éléments 'block' comme' div' dans l'élément 'inline', comme' span' – Bongs

+0

@Engineer. je ne suis pas je suis la réponse est plus rapide. – gdoron

Répondre

1
$(".list span.pos").each(function(i) { 
     var newOne = i; 
     newRank = getNth(newOne); 

     $(this).children('.txt_pos').slideToggle('slow'); 
     $(this).text(newRank); 

     $(this).children('.txt_pos').slideToggle('slow'); //not sure why you're doing this again? 
)}; 
+0

Vous pouvez mettre en cache '$ (this) .children ('.txt_pos')' – vzwick

3

Utilisez .children() pour sélectionner un enfant.

$(this).children('.txt_pos') 

Ou si vous voulez sélectionner le li(vous semblent dire les deux), utilisez .parent().

$(this).parent() 
+0

+1. Il y a d'autres problèmes, où est le '' ...? – gdoron

+0

@gdoron: Vrai. Il y a du code HTML incorrect, y compris le 'div' probablement dans le' span'. –

Questions connexes