suchen
HeimWeb-Frontendjs-TutorialÄnderung der Tabelle Zeilen Hintergrundfarben mit JavaScript

Änderung der Tabelle Zeilen Hintergrundfarben mit JavaScript

Key Takeaways

  • JavaScript kann verwendet werden, um die Hintergrundfarben der Tabelle dynamisch zu verändern und die Lesbarkeit zu verbessern, ohne jede zweite Zeile zu harten oder die HTML -Seite von einer Serveranwendung zu regenerieren.
  • Eine Methode besteht darin, zwei Klassen für Hintergrundfarben in einem Stilelement zu definieren und dann JavaScript zu verwenden, um diese Klassen ungerade bzw. sogar Zeilen zuzuweisen.
  • Eine komplexere Methode ermöglicht mehrere alternierende Farben mithilfe eines Arrays, das alle diese Farben enthält und Zeilen basierend auf ihrem Index zugewiesen wird.
  • Eine endgültige Methode berechnet die Farbe in Abhängigkeit von der Anzahl der Zeilen in der Tabelle, der Startfarbe und eines bestimmten Faktors, wodurch ein Gradienteneffekt erzeugt wird. Diese Methode erfordert eine sorgfältige Berücksichtigung von Farbkombinationen, um die Lesbarkeit aufrechtzuerhalten.

Viele Websites, die tabellarische Daten aufweisen, verwenden alternierende Hintergrundfarben, um die Lesbarkeit dieser Daten zu erhöhen. Und als ich eine Seite entwickelte, wurde mir klar, dass ich das auch tun wollte. Das Problem? In meinem Fall wurde die Tabelle nicht von einer serverseitigen Anwendung oder einem Skript generiert, der Sie zahlreiche Beispiele im Web finden können.

Die offensichtliche Lösung bestand darin, jede zweite Zeile zu harten, um sicherzustellen, dass sie eine andere Hintergrundfarbe hatte. Aber ich wollte, dass die Tabelle dynamisch ist, so dass es möglich war, eine neue Zeile in der Mitte der Tabelle hinzuzufügen, ohne das Hintergrundfarbenattribut der folgenden Zeilen zu ändern.

Meine Lösung verwendet JavaScript, da CSS3 noch keine praktikable Option ist. Browser haben heute noch Schwierigkeiten, CSS1 und CSS2 zu unterstützen. Auch wenn HTML -Tabellen für das Webseitenlayout nicht empfohlen werden, eignen sie sich dennoch perfekt für die Präsentation von tabellarischen Daten. In diesem Tutorial präsentiere ich drei Beispiele, die auf derselben Idee basieren. Ich habe die Lösungen in IE6, Firefox 1.0, Mozilla 1.7.3 und Opera 7.54 nur auf der Windows -Plattform getestet.

Erste Schritte

Beginnen wir mit einer gewöhnlichen HTML -Tabelle. Ob die Tabelle Kopf-/Fußelemente enthält, spielt in diesem Fall keine Rolle:





 
 
       
0 - some txt
1 - some txt
2 - some txt
3 - some txt
4 - some txt

Jetzt müssen wir überprüfen, ob der Browser ziemlich neu ist und über die erforderlichen JavaScript -Funktionen verfügt (d. H. W3C DOM -Unterstützung). Die folgende Zeile führt diese Prüfung durch und disqualifiziert Netscape 4 und andere dieser Generation. Solche Browser machen keinen Versuch, die Tabelle zu färben.

if(document.getElementById)

Beachten Sie auch, dass dieser Code all diesen Beispielen gemeinsam ist:

var table = document.getElementById(id);   <br>
var rows = table.getElementsByTagName("tr");   <br>
for(i = 0; i 
    //manipulate rows <br>
      ...
Beispiel 1

Dieses erste Beispiel verwendet ein Stilelement, durch das wir zwei Klassen für Hintergrundfarben definiert haben:

<style> <br>
  .odd{background-color: white;} <br>
  .even{background-color: gray;} <br>
</style>

Der Stil ist flexibel: Er könnte genauso gut etwas anderes definieren, wie das sollte in jeder zweiten Reihe kursiv angezeigt werden. Die vollständige Funktion sieht so aus:

function alternate(id){ <br>
  if(document.getElementsByTagName){  <br>
    var table = document.getElementById(id);   <br>
    var rows = table.getElementsByTagName("tr");   <br>
    for(i = 0; i 
  //manipulate rows <br>
      if(i % 2 == 0){ <br>
        rows[i].className = "even"; <br>
      }else{ <br>
        rows[i].className = "odd"; <br>
      }       <br>
    } <br>
  } <br>
}

Hier, %, der Modulo -Operator, gibt uns den Rest in der Division.

Die obige Funktion sollte aus dem Onload -Ereignis des Body -Tags aufgerufen werden:





 
 
       
0 - some txt
1 - some txt
2 - some txt
3 - some txt
4 - some txt

Das Ergebnis könnte ungefähr so ​​aussehen:

Änderung der Tabelle Zeilen Hintergrundfarben mit JavaScript

Beispiel 2

Gehen wir mit dem nächsten Beispiel fort - etwas abenteuerlustigeres. Anstatt nur zwei abwechselnde Farben zu verwenden, möchte ich mehrere verwenden. Fügen wir ein Array hinzu, das all diese Farben enthält.

Da eine begrenzte Anzahl von Farben in HTML einen definierten Namen hat, wechseln wir zu hexadezimalen Werten. Die resultierenden Farben bestehen aus drei Werten: Rot, Grün und Blau. Weiß wird erreicht, wenn alle drei Farben bei Max: #ffffff eingeschaltet werden. Das Gegenteil, schwarz, ist #000000.

if(document.getElementById)

Der Zeilen-Manipulations-Code umfasst nur eine einzelne Zeile, aber anstatt denselben Code zu kopieren und zu kleben, werden wir einen separaten Funktionsaufruf erstellen:

var table = document.getElementById(id);   <br>
var rows = table.getElementsByTagName("tr");   <br>
for(i = 0; i 
    //manipulate rows <br>
      ...

Hier habe ich auch eine Funktion 1 hinzugefügt, beispielsweise 1 namens DoAlternate. Dies erleichtert es, zwischen den verschiedenen Methoden zu wechseln, mit denen wir die Zeilenfarben der Tabelle abwechseln können.

Wie in den obigen Fragmenten zu sehen, ist es möglich, den CSS -Klasse -Namen oder ein spezifisches Attribut eines HTML -Tags für die Zeilen festzulegen:

<style> <br>
  .odd{background-color: white;} <br>
  .even{background-color: gray;} <br>
</style>

Das Ergebnis von Beispiel 2 könnte wie unten gezeigt angezeigt werden:

Änderung der Tabelle Zeilen Hintergrundfarben mit JavaScript

Beispiel 3

Das letzte Beispiel zeigt eine wirklich farbenfrohe Variante, in der die Farbe in Abhängigkeit von der Anzahl der Zeilen in der Tabelle, der Startfarbe und einem bestimmten Faktor berechnet wird.

Erstens müssen wir einige Variablen festlegen:

function alternate(id){ <br>
  if(document.getElementsByTagName){  <br>
    var table = document.getElementById(id);   <br>
    var rows = table.getElementsByTagName("tr");   <br>
    for(i = 0; i 
  //manipulate rows <br>
      if(i % 2 == 0){ <br>
        rows[i].className = "even"; <br>
      }else{ <br>
        rows[i].className = "odd"; <br>
      }       <br>
    } <br>
  } <br>
}

Wir fügen jetzt eine neue Funktion hinzu, Dogradient.

 <br>
... <br>
 <br>


...

...

Da die Farben berechnet werden, müssen wir sicherstellen, dass wir nicht aus dem Bereich gehen, die gültigen Werte von 0 bis 255 liegen. Das Farbargument ist nicht in RGB -Werte unterteilt. Daher müssen wir unter 16 Uhr polieren, wenn wir unter 16 gehen, sonst ist der Wert illegal. Wenn wir eine wirklich lange Tabelle oder einen großen Schrittewert haben, dreht sich der Gradient in die andere Richtung. In dieser Funktion ist der blaue Teil festgelegt und die anderen beiden werden modifiziert.

Die ToString -Methode ist sehr praktisch, wenn Sie in diesem Fall Zahlen - Dezimales in Hex, konvertieren müssen. Das Argument im ToString ist der Radix, dh. 2 für binär, 10 für dezimal und 16 für hex. Das Bild unten zeigt, wie die Tabelle in Firefox 1.0, IE6, Mozilla 1.7 und Opera 7.5 erscheint.

Änderung der Tabelle Zeilen Hintergrundfarben mit JavaScript

Achten Sie darauf, dass die Anzeige nicht zu farben wird - wir möchten immer noch die Lesbarkeit unserer tabellarischen Daten sicherstellen. Bei einigen Farbkombinationen kann es sogar notwendig sein, die Farbe des Tabellentextes mit so etwas zu ändern:





 
 
       
0 - some txt
1 - some txt
2 - some txt
3 - some txt
4 - some txt
Schlussfolgerung

Verwenden von CSS und JavaScript ist es ziemlich einfach, die Lesbarkeit unseres Codes hinzuzufügen oder zu erhöhen, ohne die HTML -Seite von einer Serveranwendung regenerieren zu müssen. Wie wir hier gesehen haben, kann es auch auf statischen HTML -Seiten hinzugefügt werden. Um diese Beispiele in Aktion zu sehen, laden Sie die HTML -Datei mit dem Code herunter.

häufig gestellte Fragen (FAQs) zum Ändern von Hintergrundfarben in JavaScript

Wie kann ich die Hintergrundfarbe einer bestimmten Zeile in einer Tabelle mit JavaScript ändern? Hier ist ein Beispiel:

document.getElementById ("myrow"). Style.backgroundcolor = "red"; Sie können „rot“ durch einen gültigen Farbnamen oder Farbcode ersetzen.

Kann ich die Hintergrundfarbe mehrerer Zeilen gleichzeitig ändern? Sie können die QuerySelectorAll -Methode verwenden, um alle Zeilen auszuwählen, die Sie ändern möchten, und dann eine Schleife verwenden, um die Hintergrundfarbe jeder Zeile zu ändern. Hier ist ein Beispiel:

var rows = document.querySelectorAll (". Myrows"); Sie können „blau“ durch einen gültigen Farbnamen oder Farbcode ersetzen.

Wie kann ich die Hintergrundfarbe einer Zeile ändern, wenn ich darauf klicke? Hier ist ein Beispiel:

document.getElementById ("myrow"). Onclick = function () {

this.style.backgroundcolor = "green"; Sie können „grün“ durch einen gültigen Farbnamen oder Farbcode ersetzen.

Kann ich die Hintergrundfarbe einer Zeile basierend auf ihrem Inhalt ändern? Sie können die InnerHTML -Eigenschaft verwenden, um den Inhalt der Zeile zu erhalten, und dann eine IF -Anweisung verwenden, um die Hintergrundfarbe basierend auf dem Inhalt zu ändern. Hier ist ein Beispiel:

var row = document.getElementById ("myrow"); für. Sie können "Gelb" durch einen gültigen Farbnamen oder Farbcode ersetzen.

Wie kann ich die Hintergrundfarbe einer Zeile ändern, wenn ich darüber schwebe? Hier ist ein Beispiel:

#Myrow: Hover {
Hintergrundfarbe: Pink;
}
In diesem Beispiel ist „Myrow“ die ID der Zeile, die Sie ändern möchten. Sie können "Pink" durch einen gültigen Farbnamen oder Farbcode ersetzen. Sie können die ursprüngliche Farbe in einer Variablen speichern, bevor Sie sie ändern, und dann diese Variable verwenden, um die Farbe zurück zu ändern. Hier ist ein Beispiel:

var row = document.getElementById ("myrow");

var originalcolor = row.style.backgroundColor; "Myrow" ist die ID der Zeile, die Sie ändern möchten. Sie können „lila“ durch einen gültigen Farbnamen oder Farbcode ersetzen.

Wie kann ich die Hintergrundfarbe einer Zeile alle paar Sekunden ändern? Hier ist ein Beispiel:


var row = document.getElementById ("myrow"); Gibt eine zufällige Farbe zurück. Die Zahl 2000 ist das Intervall in Millisekunden (2000 Millisekunden = 2 Sekunden). Sie können eine IF -Anweisung verwenden, um den Zustand zu überprüfen und dann die Hintergrundfarbe zu ändern, wenn der Zustand wahr ist. Hier ist ein Beispiel:

var row = document.getElementById ("myrow");
if (somecondition) {
row.style Sie können "orange" durch einen gültigen Farbnamen oder Farbcode ersetzen.

Wie kann ich die Hintergrundfarbe einer Zeile ändern, wenn ich sie auswähle? Dieses Ereignis wird jedoch häufig für Tabellenzeilen verwendet, da es normalerweise für Texteingangsfelder verwendet wird. Ein häufigerer Ansatz besteht darin, die Hintergrundfarbe zu ändern, wenn Sie auf die Zeile klicken, wie in Frage 3.

erläutert

Kann ich die Hintergrundfarbe einer Zeile in einer bestimmten Spalte ändern? Sie können die CellIndex -Eigenschaft verwenden, um den Index der Spalte zu erhalten, und dann die Hintergrundfarbe der Zeile ändern, wenn der Index mit der spezifischen Spalte übereinstimmt. Hier ist ein Beispiel:

var row = document.getElementById ("myrow"); der spezifischen Spalte. Sie können "blaugrün" durch einen gültigen Farbnamen oder Farbcode ersetzen.

Das obige ist der detaillierte Inhalt vonÄnderung der Tabelle Zeilen Hintergrundfarben mit JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
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
JavaScript -Datentypen: Gibt es einen Unterschied zwischen Browser und NodeJs?JavaScript -Datentypen: Gibt es einen Unterschied zwischen Browser und NodeJs?May 14, 2025 am 12:15 AM

JavaScript -Kerndatentypen sind in Browsern und Knoten.js konsistent, werden jedoch unterschiedlich als die zusätzlichen Typen behandelt. 1) Das globale Objekt ist ein Fenster im Browser und global in node.js. 2) Node.js 'eindeutiges Pufferobjekt, das zur Verarbeitung von Binärdaten verwendet wird. 3) Es gibt auch Unterschiede in der Leistung und Zeitverarbeitung, und der Code muss entsprechend der Umgebung angepasst werden.

JavaScript -Kommentare: Eine Anleitung zur Verwendung // und / * * /JavaScript -Kommentare: Eine Anleitung zur Verwendung // und / * * /May 13, 2025 pm 03:49 PM

JavaScriptUSESTWOTYPESOFCOMMENMENTEN: Einzelzeilen (//) und Multi-Linie (//). 1) Verwendung // Forquicknotesorsingle-Linexplanationen.2 Verwendung // ForlongerExPlanationsCompomentingingoutblocks-

Python gegen JavaScript: Eine vergleichende Analyse für EntwicklerPython gegen JavaScript: Eine vergleichende Analyse für EntwicklerMay 09, 2025 am 12:22 AM

Der Hauptunterschied zwischen Python und JavaScript sind die Typ -System- und Anwendungsszenarien. 1. Python verwendet dynamische Typen, die für wissenschaftliche Computer- und Datenanalysen geeignet sind. 2. JavaScript nimmt schwache Typen an und wird in Front-End- und Full-Stack-Entwicklung weit verbreitet. Die beiden haben ihre eigenen Vorteile bei der asynchronen Programmierung und Leistungsoptimierung und sollten bei der Auswahl gemäß den Projektanforderungen entschieden werden.

Python vs. JavaScript: Auswählen des richtigen Tools für den JobPython vs. JavaScript: Auswählen des richtigen Tools für den JobMay 08, 2025 am 12:10 AM

Ob die Auswahl von Python oder JavaScript vom Projekttyp abhängt: 1) Wählen Sie Python für Datenwissenschafts- und Automatisierungsaufgaben aus; 2) Wählen Sie JavaScript für die Entwicklung von Front-End- und Full-Stack-Entwicklung. Python ist für seine leistungsstarke Bibliothek in der Datenverarbeitung und -automatisierung bevorzugt, während JavaScript für seine Vorteile in Bezug auf Webinteraktion und Full-Stack-Entwicklung unverzichtbar ist.

Python und JavaScript: Verständnis der Stärken der einzelnenPython und JavaScript: Verständnis der Stärken der einzelnenMay 06, 2025 am 12:15 AM

Python und JavaScript haben jeweils ihre eigenen Vorteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1. Python ist leicht zu erlernen, mit prägnanter Syntax, die für Datenwissenschaft und Back-End-Entwicklung geeignet ist, aber eine langsame Ausführungsgeschwindigkeit hat. 2. JavaScript ist überall in der Front-End-Entwicklung und verfügt über starke asynchrone Programmierfunktionen. Node.js macht es für die Entwicklung der Vollstapel geeignet, die Syntax kann jedoch komplex und fehleranfällig sein.

JavaScripts Kern: Ist es auf C oder C aufgebaut?JavaScripts Kern: Ist es auf C oder C aufgebaut?May 05, 2025 am 12:07 AM

JavaScriptisnotbuiltoncorc; Es ist angehört, dass sich JavaScriptWasdedeSthatrunsonGineoFtencninc.

JavaScript-Anwendungen: Von Front-End bis Back-EndJavaScript-Anwendungen: Von Front-End bis Back-EndMay 04, 2025 am 12:12 AM

JavaScript kann für die Entwicklung von Front-End- und Back-End-Entwicklung verwendet werden. Das Front-End verbessert die Benutzererfahrung durch DOM-Operationen, und die Back-End-Serveraufgaben über node.js. 1. Beispiel für Front-End: Ändern Sie den Inhalt des Webseitentextes. 2. Backend Beispiel: Erstellen Sie einen Node.js -Server.

Python vs. JavaScript: Welche Sprache sollten Sie lernen?Python vs. JavaScript: Welche Sprache sollten Sie lernen?May 03, 2025 am 12:10 AM

Die Auswahl von Python oder JavaScript sollte auf Karriereentwicklung, Lernkurve und Ökosystem beruhen: 1) Karriereentwicklung: Python ist für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet, während JavaScript für die Entwicklung von Front-End- und Full-Stack-Entwicklung geeignet ist. 2) Lernkurve: Die Python -Syntax ist prägnant und für Anfänger geeignet; Die JavaScript -Syntax ist flexibel. 3) Ökosystem: Python hat reichhaltige wissenschaftliche Computerbibliotheken und JavaScript hat ein leistungsstarkes Front-End-Framework.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Nordhold: Fusionssystem, erklärt
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software