Ich implementiere jetzt etwas wie this post (genauer gesagt, der Effekt findet statt, wenn auf die Zeile geklickt wird)Wie man Index eines <tr> innerhalb eines <table> mit jQuery weiß?
Woher weiß ich, was der Index der Zeile in der Tabelle ist?
Ich implementiere jetzt etwas wie this post (genauer gesagt, der Effekt findet statt, wenn auf die Zeile geklickt wird)Wie man Index eines <tr> innerhalb eines <table> mit jQuery weiß?
Woher weiß ich, was der Index der Zeile in der Tabelle ist?
Wenn Sie die Click-Handler direkt auf die tr
Elemente definiert sind, können Sie die index
Methode wie folgt verwenden:
$('#tableId tr').click(function() {
var rowIndex = $('#tableId tr').index(this); //index relative to the #tableId rows
});
Wenn das Click-Ereignis auf dem tr
Element nicht direkt gebunden ist (wenn Sie ein verwenden Anker, ein Knopf, etc ...), sollten Sie die nächstgelegene tr
finden Sie den richtigen Index zu erhalten:
$(selector).click(function() {
var rowIndex = $('#tableId tr').index($(this).closest('tr'));
return false;
});
Versuchen Sie ein Beispiel here.
Dies wird nicht richtig funktionieren, wenn die Seite mehrere Tabellen hat. Wahrscheinlich am besten nach Geschwister '
Sollte der Selektor des Aufrufs $ .index() nicht auf die übergeordnete Tabelle von TR beschränkt sein, auf die TR geklickt wurde, statt auf ein generisches Tabellen-Tag? – Sampson
@TM, @ Jonathan: war ein Tippfehler, beschränkt auf ein '# tableId' Element – CMS
sollte diese Arbeit:
Sie brauchen
tr
nicht im Aufruf vonsiblings
, wenn Sie Ihre HTML wohlgeformt sind sicher werden.Quelle
2009-12-07 06:34:49
Ihre erste Frage zu beantworten:
Wenn Sie gerade tun:
und Sie haben mehrere Tabellen auf der Seite finden Sie ein falsches Ergebnis erhalten.
Dazu müssen Sie den Index nicht wissen, um Zeilen in einer Tabelle nach oben und unten zu verschieben. Zum Beispiel:
mit so etwas wie:
Quelle
2009-12-07 06:35:14 cletus
Guter Punkt, Sie brauchen eigentlich den Index überhaupt nicht. –
Verwandte Themen