si utilizza eq
:
$('ul li').eq(X);
Dove X è un indice 0-based di cui elemento che si desidera. Si potrebbe anche usare il selector form:
$('ul li:eq(X)');
E si potrebbe anche ottenere un risultato simile utilizzando nth-child
:
$('ul li:nth-child(X)');
La documentazione ha questo da dire circa la differenza tra nth-child
e eq
:
While: eq (index) corrisponde solo a un singolo elemento, corrisponde a più di uno: uno per ciascun genitore con indice. Multiplo per ogni genitore con pari, dispari o equazione. L'indice specificato è a un indice, in contrasto con: eq() che inizia da zero.
Così facendo $('ul li').eq(19);
si otterrebbe il singolo elemento 20 della query abbinata (quindi se c'è più di una lista nel documento questo non porterà "tutti i 19 figli", mentre $('ul li:nth-child(20)');
si otterrebbe l'individuo 20 abbinato lista degli elementi di ogni <ul>
nel documento
EDIT:.
fare qualcosa di simile "penultimo", il modo sano per farlo sarebbe come:
var $ul = $('#mylist > li');
var $el = $ul.eq($ul.length-2);
Ma probabilmente si dovrebbe fare un controllo per assicurarsi che la lunghezza-2 non è minore di 0.
fonte
2009-06-20 21:27:18