Obecnie wdrażam coś w rodzaju this post (w szczególności efekt ma miejsce po kliknięciu wiersza)Jak poznać indeks <tr> wewnątrz <table> z jQuery?
Skąd wiadomo, jaki jest indeks wiersza w tabeli?
Obecnie wdrażam coś w rodzaju this post (w szczególności efekt ma miejsce po kliknięciu wiersza)Jak poznać indeks <tr> wewnątrz <table> z jQuery?
Skąd wiadomo, jaki jest indeks wiersza w tabeli?
Jeśli określona procedura obsługi kliknięcia bezpośrednio na tr
elementów, można użyć metody index
takiego:
$('#tableId tr').click(function() {
var rowIndex = $('#tableId tr').index(this); //index relative to the #tableId rows
});
Jeżeli zdarzenie click jest zobowiązany nie bezpośrednio na elemencie tr
(jeśli używasz kotwica, przycisk, itp ...), należy znaleźć najbliższy tr
aby uzyskać odpowiedni indeks:
$(selector).click(function() {
var rowIndex = $('#tableId tr').index($(this).closest('tr'));
return false;
});
Spróbuj przykład here.
To nie będzie działać prawo, jeśli strona zawiera wiele tabel. Prawdopodobnie najlepiej będzie szukać elementów 'rodzeństwa' '
Czy selektor wywołania $ .index() nie powinien być ograniczony do tabeli nadrzędnej kliknięcia TR, a nie do ogólnego znacznika tabeli? – Sampson
@TM, @ Jonathan: był literówka, ograniczony do elementu "# tableId". – CMS
To powinno działać:
Nie trzeba
tr
w wywołaniusiblings
jeśli jesteś pewien, że twój html będzie dobrze uformowane.Źródło
2009-12-07 06:34:49
Aby odpowiedzieć na pierwsze pytanie:
Jeśli po prostu zrobić:
i masz wiele tabel na stronie, otrzymasz błędny wynik.
W związku z tym nie trzeba znać indeksu, aby przenosić wiersze w górę iw dół w tabeli. Na przykład:
o coś takiego:
Źródło
2009-12-07 06:35:14 cletus
Dobrze, właściwie nie potrzebujesz w ogóle indeksu. –
Powiązane problemy