Das Erweitern und Reduzieren von Tabellenzeilen basierend auf Header-Klicks ist eine häufige Anforderung im Webdesign. In diesem Artikel werden wir untersuchen, wie wir dies mit jQuery erreichen können.
Angesichts der folgenden Tabellenstruktur:
<code class="html"><table> <tr> <td colspan="2">Header</td> </tr> <tr> <td>data</td> <td>data</td> </tr> <tr> <td>data</td> <td>data</td> </tr> <tr> <td colspan="2">Header</td> </tr> <tr> <td>data</td> <td>data</td> </tr> <tr> <td>data</td> <td>data</td> </tr> <tr> <td>data</td> <td>data</td> </tr> </table></code>
Wir können diese Aufgabe angehen, indem wir jeder Kopfzeile eine eindeutige Klasse zuweisen. Wenn auf eine Überschrift geklickt wird, können wir mit der nextUntil-Methode alle darunter liegenden Zeilen bis zur nächsten Überschrift auswählen. Dadurch können wir nur die relevanten Zeilen basierend auf der angeklickten Kopfzeile reduzieren oder erweitern.
Hier ist ein einfacher jQuery-Codeausschnitt, um dieses Verhalten zu implementieren:
<code class="js">$('.header').click(function(){ $(this).nextUntil('tr.header').slideToggle(1000); });</code>
In diesem Code haben wir Fügen Sie allen Elementen mit der Header-Klasse ein Klickereignis hinzu. Wenn auf eine Kopfzeile geklickt wird, werden alle nachfolgenden Zeilen bis zur nächsten Kopfzeile gesucht und deren Sichtbarkeit mit slideToggle umgeschaltet.
Eine andere Option besteht darin, die Toggle-Methode anstelle von slideToggle zu verwenden, was Folgendes bietet eine einfachere Implementierung:
<code class="js">$('.header').click(function () { $(this).toggleClass('expand'); $(this).nextUntil('tr.header').toggle(); });</code>
Hier schalten wir eine Erweiterungsklasse für den angeklickten Header um und schalten die Anzeige aller nachfolgenden Zeilen mit Toggle um.
Schließlich können auch CSS-Pseudoelemente verwendet werden Wird für eine visuellere Darstellung des Erweiterungs-/Reduzierungszustands verwendet:
<code class="css">.header .sign:after { content: "+"; display: inline-block; } .header.expand .sign:after { content: "-"; }</code>
<code class="js">$('.header').click(function () { $(this).toggleClass('expand'); $(this).nextUntil('tr.header').slideToggle(100); });</code>
In dieser Version ändert die Erweiterungsklasse auch das vom CSS-Pseudoelement angezeigte Vorzeichen von einem Plus in ein Minus. Bereitstellung einer visuellen Anzeige des Zeilenstatus.
Das obige ist der detaillierte Inhalt vonWie kann ich Tabellenzeilen mit jQuery erweitern/reduzieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!