2011-01-11 17 views
25

Jak uzyskać numer potomny wybranego elementu, np.Jak uzyskać numer/indeks elementu między rodzeństwem?

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

Korzystanie coś takiego:

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

To powinno wrócić "3" dla swojego rodzica okład, dotyczące liczby dzieci.

Odpowiedz

53

Możesz użyć do tego celu .index().

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

Ponieważ podałeś identyfikator dla li, nie potrzebujesz selektora elementów z ul. Możesz bezpośrednio użyć selektora id dla elementu li.

+0

Proste i skuteczne dzięki. :) – MacMac

+2

jego zawsze lepiej używać selektora typu, aby poprawić prędkości wyszukiwania, $ ("li # selected") powinno być szybsze niż $ ("# selected"). – longstaff

+16

@shortstick not with id-selectors ('#'), który używa natywnej funkcji getElementByID, która jest szybsza. – HerrSerker

Powiązane problemy