Direkt zum Inhalt springen
CSS-Tricks
  • Artikel
  • Notizen
  • Links
  • Anleitungen
  • Almanach
  • Zufall
Suche
Code Snippets → jQuery Code Snippets → jQuery Zebra Stripe a Table

jQuery Zebra-Streifen einer Tabelle

Avatar of Chris Coyier
Chris Coyier am 4. Sep 2009
$("tr:odd").addClass("odd");

Dann nutze etwas CSS

.odd {
   background: #ccc;
}
Psst! Erstellen Sie ein DigitalOcean-Konto und erhalten Sie 200 $ kostenloses Guthaben für Cloud-basiertes Hosting und Services.

Kommentare

  1. Dor
    Permalink zu Kommentar# 14. September 2009

    Sehr gut! Ich wusste nichts von :odd. Man lernt jeden Tag etwas Neues :D

    (Ich würde jedoch :even (vorausgesetzt, es existiert) verwenden, da ich die erste Zeile als „normale“ Farbe haben möchte).

    Antworten
  2. Dyllon
    Permalink zu Kommentar# 16. September 2009

    Nun, du kannst einfach machen
    tr {background-color: #FFF;}
    und ich denke, die .odd wird sie überschreiben, und wenn nicht, kannst du immer noch die Hintergrundfarbe für :odd mit !important versehen.

    Antworten
    • Walter Wimberly
      Permalink zu Kommentar# 2. Februar 2011

      Ja, die .odd Klasse wird es überschreiben.

  3. nate
    Permalink zu Kommentar# 15. Februar 2010

    Du bist großartig Chris, danke, dass du all diesen Kram gepostet hast!

    Antworten
  4. fludotlove
    Permalink zu Kommentar# 30. April 2010

    Es ist besser zu verwenden

    $('tr:nth-child(odd)').addClass('odd');

    Da Ihr Beispiel alle Tabellenzeilen zählt, ohne zu berücksichtigen, um welche Tabelle es sich handelt. Der obige Code beginnt immer mit einer geraden Zeile, auch wenn es sich im Wesentlichen um die 7. Tabellenzeile in Ihrem Dokument handelt.

    Antworten
    • Chris
      Permalink zu Kommentar# 18. Juni 2012

      Danke! Genau das, was ich gesucht habe

    • Dru
      Permalink zu Kommentar# 9. April 2014

      Bump! Das ist die Implementierung, die ich brauchte, weil ich mehrere Tabellen auf einer Seite habe. Dies beginnt den Index bei jeder neuen Tabelle auf der Seite neu. Danke!

  5. dani
    Permalink zu Kommentar# 9. August 2010

    Ich bin neu. Ich habe den Code ausprobiert und er funktioniert nicht. Kann ich bitte ein vollständiges Beispiel für die Verwendung des Codes haben? Danke

    Antworten
  6. mike ilz
    Permalink zu Kommentar# 24. August 2010

    @dani, hier ist eine einfache Demo, die genau erklärt, wie dieser Code verwendet wird, und ein Live-Beispiel, wie er verwendet wird.

    http://webdesignandsuch.com/2010/08/add-zebra-striping-to-a-table-with-jquery/

    Antworten
  7. fingerlicking
    Permalink zu Kommentar# 29. August 2010

    Warum willst du jQuery benutzen?? CSS kann das.

    Antworten
    • basic147
      Permalink zu Kommentar# 13. Oktober 2010

      Das dachte ich auch...

      Gibt es einen Grund dafür, irgendjemand???

    • Norm
      Permalink zu Kommentar# 19. November 2010

      Ja, CSS kann das Zebra-Striping machen, vorausgesetzt, Sie haben die entsprechende HTML-Struktur. Die Verwendung von jQuery für diesen Zweck kann den Umfang der Markup reduzieren. Außerdem ist die Verwendung von jQuery für diesen Zweck hilfreich, wenn Sie dynamisch Zeilen in einer Tabelle auf der Client-Seite mit AJAX hinzufügen oder entfernen und sicherstellen möchten, dass die Tabelle weiterhin das gewünschte Zebra-Striping aufweist. Nachdem Sie beispielsweise eine Zeile hinzugefügt oder gelöscht haben, rufen Sie einfach eine jQuery-Funktion auf, um das Zebra-Striping erneut anzuwenden.

  8. Norm
    Permalink zu Kommentar# 19. November 2010

    Ein weiteres Szenario, in dem die Verwendung von jQuery für Zebra-Striping nützlich ist, ist, wenn Sie eine Client-seitige Sortierung einer Tabelle durchführen. Nach der Sortierung möchten Sie das Zebra-Striping auf die Tabellenzeilen erneut anwenden.

    Antworten
  9. Walter Wimberly
    Permalink zu Kommentar# 2. Februar 2011

    Ich benutze gerne $(‘tbody tr:odd’) – damit es im tbody nachschaut und meine Kopfzeilen nicht mitzählt, aber das ist nur meine Meinung.

    Ich verwende dies überall, versuche aber herauszufinden, ob Zebra-Striping oder Zeilenhervorhebung bei großen Tabellen besser funktioniert. Ich habe eine Online-Umfrage, an der Sie teilnehmen können, wenn Sie interessiert sind: http://access2learn.com/survey1/

    Danke.

    Antworten
  10. Jana Mills
    Permalink zu Kommentar# 28. April 2011

    Wenn Sie die Tabelle nach dem Sortieren oder Löschen von Zeilen usw. zurücksetzen möchten. Das dauert zwei Zeilen. Ich frage mich, ob jemand weiß, wie man das in eine Funktion packt, die aufgerufen werden kann. resetStripes() oder so etwas?

    Hier ist der Zwei-Zeilen-Aufruf, den ich im Moment mache.

    $(“.stripeme tbody tr”).removeClass(“alt”);
    $(“.stripeme tbody tr:even”).addClass(“alt”);

    Vielen Dank,

    Jana

    Antworten
  11. Geison
    Permalink zu Kommentar# 10. August 2011

    Ich mochte diesen Tipp sehr – er wird sehr nützlich sein und viel Programmierzeit sparen…

    Antworten
  12. Ricardo
    Permalink zu Kommentar# 1. April 2012

    Ausgezeichnet. Sehr einfache Lösung. Danke

    Antworten
  13. soumya
    Permalink zu Kommentar# 19. Juli 2012

    Oder um sehr präzise zu sein... d.h. wenn Sie möchten, dass die erste Zeile/li die odd-Klasse hat, sollten Sie tun
    $(“tr:even”).addClass(“odd”);
    (0-basierte Indizierung)

    Antworten
  14. Jesse Szypulski
    Permalink zu Kommentar# 17. August 2012

    Ich möchte nur sagen, dass es mit reinem CSS vollständig machbar ist.

    tr:nth-child(even) { background: #EBEBEB; color: #7D7D7D; }
    tr:nth-child(odd) { background: #777777; color: #7D7D7D; }

    und Sie können spezifische Tabellen gezielt ansprechen, falls erforderlich. (fügen Sie Klasse oder ID zu Ihrer Tabelle hinzu)

    table.mytableclass tbody tr:nth-child(even) { background: #EBEBEB; color: #7D7D7D; }
    table.mytableclass tbody tr:nth-child(odd) { background: #777777; color: #7D7D7D; }

    oder mit IDs

    table#mytableclass tbody tr:nth-child(even) { background: #EBEBEB; color: #7D7D7D; }
    table#mytableclass tbody tr:nth-child(odd) { background: #777777; color: #7D7D7D; }

    Antworten
  15. leandro
    Permalink zu Kommentar# 6. Dezember 2012

    Respekt dafür. :D
    Ich wusste nichts von dem odd Pseudo-Element, danke

    Antworten
  16. dstefani
    Permalink zu Kommentar# 19. Januar 2013

    Ja, das kann man mit reinem CSS machen, aber was ist, wenn man möchte, dass es in IE8 oder niedriger funktioniert?
    jQuery oder ein viel längeres DOM-Skript macht es möglich.

    Antworten
  17. rachid ouabderzaq
    Permalink zu Kommentar# 16. Mai 2013

    Danke für die „einfachste“ Idee zur Erstellung von Zebra-Styling.

    Wie kann man nun dasselbe erreichen, aber ohne jQuery? (Abgesehen vom Hinzufügen der Klasse „odd“ zu den gewünschten Zeilen!).

    Danke im Voraus

    Antworten
    • walid
      Permalink zu Kommentar# 24. Juli 2014

      Sie können jetzt tr:nth-child(2n) verwenden, das jede gerade Zeile auswählt. Mit tr:nth-child(2n-1) werden ungerade Zeilen ausgewählt, tr:nth-child(3n) für jede dritte Zeile.

  18. JHarcourt
    Permalink zu Kommentar# 4. Juni 2014

    Danke für diese Seite!

    Wie würde man eine Tabelle mit Zebra-Streifen versehen, bei der einige Zeilen `display:none` Tags haben? Es gibt Situationen, in denen wir bestimmte Zeilen in verschiedenen Szenarien ausblenden möchten. Aber wenn wir das tun, werden diese Zebra-Streifen über Zeilen gelegt, die nicht angezeigt werden, was zu seltsam aussehenden Tabellen führt.

    Antworten
  19. Jonathan Gamble
    Permalink zu Kommentar# 18. Mai 2015

    Anstatt Ihre CSS-Datei zu ändern, könnten Sie einfach Folgendes tun

    $("tbody tr:odd").css('background-color', '#ccc');
    
    Antworten

Antwort hinterlassen Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

CSS-Tricks wird unterstützt von DigitalOcean.

Bleiben Sie auf dem Laufenden über Web-Entwicklung

mit unserem handverlesenen Newsletter

DigitalOcean
  • Über DO
  • Cloudways
  • Rechtliches
  • Holen Sie sich kostenloses Guthaben!
CSS-Tricks
  • Schreiben Sie für uns!
  • Werben Sie bei uns
  • Kontaktieren Sie uns
Soziales
  • RSS-Feeds
  • CodePen
  • Mastodon
  • X
Nach oben

© .