Heim > Web-Frontend > CSS-Tutorial > Wie kann ich Tabellenzeilen mit jQuery erweitern/reduzieren?

Wie kann ich Tabellenzeilen mit jQuery erweitern/reduzieren?

Patricia Arquette
Freigeben: 2024-11-03 07:54:03
Original
792 Leute haben es durchsucht

How to Expand/Collapse Table Rows with jQuery?

Tabellenzeilen mit jQuery erweitern/reduzieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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.

Alternative Methoden

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren
<code class="js">$('.header').click(function () {
    $(this).toggleClass('expand');
    $(this).nextUntil('tr.header').slideToggle(100);
});</code>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage