Se è stato definito il gestore click direttamente sui tr
elementi, è possibile utilizzare il metodo index
in questo modo:
$('#tableId tr').click(function() {
var rowIndex = $('#tableId tr').index(this); //index relative to the #tableId rows
});
Se l'evento click è legato non direttamente sull'elemento tr
(se si utilizza un ancora, un pulsante, ecc ...), si dovrebbe trovare il più vicino tr
per ottenere l'indice destro:
$(selector).click(function() {
var rowIndex = $('#tableId tr').index($(this).closest('tr'));
return false;
});
Prova un esempio here.
questo non funzionerà bene se la pagina ha più tabelle. Probabilmente è meglio cercare gli elementi '
Il selettore della chiamata $ .index() non deve essere limitato alla tabella padre di qualunque TR che è stato cliccato, piuttosto che un tag tabella generico? – Sampson
@TM, @Jonathan: era un errore di battitura, limitato a un elemento '# tableId' – CMS
Questo dovrebbe funzionare:
Non è necessario
tr
nella chiamata asiblings
se si è sicuri sarà ben formato codice HTML.fonte
2009-12-07 06:34:49
Per rispondere alla tua prima domanda:
Se lo farete:
e si dispone di più tabelle sulla pagina, si otterrà un risultato errato.
Detto questo, non è necessario conoscere l'indice per spostare le righe su e giù in una tabella. Per esempio:
con qualcosa di simile:
fonte
2009-12-07 06:35:14 cletus
Un buon punto, non hai proprio bisogno dell'indice. –
Problemi correlati