2011-01-11 16 views
25

Come si può ottenere il numero figlio dell'elemento selezionato, ad es.Come ottenere il numero di elemento/indice tra fratelli

<ul> 
    <li>First child</li> 
    <li>Second</li> 
    <li id="selected">Third child</li> 
    <li>Fourth child</li> 
</ul> 

Usando qualcosa di simile:

$('#selected').childNumber(); 

Questo dovrebbe tornare "3" per il suo involucro di genitore, per quanto riguarda il numero di bambini.

risposta

53

Per questo è possibile utilizzare .index().

var selectedIndex = $("#selected").index() + 1; 

Poiché è stato fornito un ID per il Li, non è necessario il selettore di elementi con ul. Puoi usare direttamente il selettore id per l'elemento li.

+0

Semplice ed efficace, grazie. :) – MacMac

+2

è sempre meglio usare il selettore di tipo anche per migliorare le velocità di ricerca, $ ("li # selezionato") dovrebbe essere più veloce di $ ("# selezionato"). – longstaff

+16

@shortstick non con id-selectors ('#') che usa la funzione nativa getElementByID che è più veloce. – HerrSerker

Problemi correlati