| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/HTML/Reference/Elements/tr | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
<tr> HTML TabellenzeilenelementDiese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Juli 2015 browserbergreifend verfgbar.
* Einige Teile dieser Funktion werden mglicherweise unterschiedlich gut untersttzt.
Das <tr> HTML-Element definiert eine Reihe von Zellen in einer Tabelle. Die Zellen der Reihe knnen dann durch eine Mischung von <td> (Datenzelle) und <th> (Kopfzelle) Elementen etabliert werden.
<table>
<caption>
Alien football stars
</caption>
<thead>
<tr>
<th scope="col">Player</th>
<th scope="col">Gloobles</th>
<th scope="col">Za'taak</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">TR-7</th>
<td>7</td>
<td>4,569</td>
</tr>
<tr>
<th scope="row">Khiresh Odo</th>
<td>7</td>
<td>7,223</td>
</tr>
<tr>
<th scope="row">Mia Oolong</th>
<td>9</td>
<td>6,219</td>
</tr>
</tbody>
</table>
th,
td {
border: 1px solid rgb(160 160 160);
padding: 8px 10px;
}
th[scope="col"] {
background-color: #505050;
color: white;
}
th[scope="row"] {
background-color: #d6ecd4;
}
td {
text-align: center;
}
tr:nth-of-type(even) {
background-color: #eeeeee;
}
table {
border-collapse: collapse;
border: 2px solid rgb(140 140 140);
font-family: sans-serif;
font-size: 0.8rem;
letter-spacing: 1px;
}
caption {
caption-side: bottom;
padding: 10px;
}
Dieses Element umfasst die globalen Attribute.
Die folgenden Attribute sind veraltet und sollten nicht verwendet werden. Sie sind unten dokumentiert, um bei der Aktualisierung bestehender Codes zu helfen und fr historisches Interesse.
align Gibt die horizontale Ausrichtung jeder Zellreihe an. Die mglichen Aufzhlungswerte sind left, center, right, justify und char. Wenn untersttzt, richtet der char-Wert den Textinhalt auf dem im char-Attribut definierten Zeichen und auf dem durch das charoff-Attribut definierten Versatz aus. Verwenden Sie stattdessen die text-align CSS-Eigenschaft, da dieses Attribut veraltet ist.
bgcolor Definiert die Hintergrundfarbe jeder Zellreihe. Der Wert ist eine HTML-Farbe; entweder ein 6-stelliges hexadezimales RGB-Code, mit einem # prfixiert, oder ein Farbwort. Andere CSS <color> Werte werden nicht untersttzt. Verwenden Sie stattdessen die background-color CSS-Eigenschaft, da dieses Attribut veraltet ist.
char Gibt die Ausrichtung des Inhalts auf ein Zeichen jeder Zellreihe an. Typische Werte hierfr sind ein Punkt (.), wenn versucht wird, Zahlen oder Geldwerte auszurichten. Wenn align nicht auf char gesetzt ist, wird dieses Attribut ignoriert.
charoff Gibt die Anzahl der Zeichen an, um den Zellreiheninhalt vom im char-Attribut angegebenen Ausrichtungszeichen zu versetzen.
valign Gibt die vertikale Ausrichtung jeder Zellreihe an. Die mglichen Aufzhlungswerte sind baseline, bottom, middle und top. Verwenden Sie stattdessen die vertical-align CSS-Eigenschaft, da dieses Attribut veraltet ist.
<tr>-Element ist nur als Kind eines <thead>, <tbody> oder <tfoot> Elements gltig.<tr> als direktes Kind seines bergeordneten <table> Elements platziert wird, wird das <tbody>-Elternteil impliziert und die Browser fgen es dem Markup hinzu.<tbody>-Elternteil wird nur untersttzt, wenn die <table> ansonsten keine Kinder <tbody>-Elemente hat, und nur, wenn das <tr> nach allen <caption>, <colgroup> und <thead>-Elementen enthalten ist.:nth-of-type, :first-of-type und :last-of-type sind oft ntzlich, um den gewnschten Satz von Reihen und ihren Daten- und Kopfzellen (<td> und <th> Elemente) auszuwhlen.<tr> als direktes Kind der <table> enthalten ist, und der Browser ein <tbody> dem Markup hinzufgt, funktionieren CSS-Selektoren wie table > tr mglicherweise nicht wie erwartet oder berhaupt nicht.Siehe <table> fr ein vollstndiges Tabellenbeispiel, das gngige Standards und Best Practices einfhrt.
Dieses Beispiel demonstriert eine Tabelle mit vier Zeilen und drei Spalten, wobei die erste Spalte Kopfzeilen fr die Datenzellen der Zeile enthlt.
Vier <tr>-Elemente werden verwendet, um vier Tabellenzeilen zu erstellen. Jede Zeile enthlt drei Zellen - eine Kopfzelle (<th>) und zwei Datenzellen (<td>) - und schafft so drei Spalten. Das scope Attribut, das auf jede Kopfzelle gesetzt ist, gibt an, auf welche Zellen sie sich beziehen, was in diesem Beispiel alle Datenzellen innerhalb der row sind.
<table>
<tbody>
<tr>
<th scope="row">A</th>
<td>Alfa</td>
<td>AL fah</td>
</tr>
<tr>
<th scope="row">B</th>
<td>Bravo</td>
<td>BRAH voh</td>
</tr>
<tr>
<th scope="row">C</th>
<td>Charlie</td>
<td>CHAR lee</td>
</tr>
<tr>
<th scope="row">D</th>
<td>Delta</td>
<td>DELL tah</td>
</tr>
</tbody>
</table>
Die CSS :nth-of-type Pseudoklasse wird verwendet, um jede ungerade Zeile auszuwhlen und die background-color dieser Zeilen auf einen leicht dunkleren Ton einzustellen, wodurch ein sogenannter "Zebra-Streifen"-Effekt erzeugt wird. Dieser abwechselnde Hintergrund macht die Datenreihen in der Tabelle einfacher zu erfassen und zu lesen stellen Sie sich vor, Sie haben viele Reihen und Spalten und versuchen, einige Daten in einer bestimmten Zeile zu finden. Darber hinaus werden die Reihen-Kopfzellen (<th> Elemente) mit einer background-color hervorgehoben, um sie von den Datenzellen (<td> Elemente) zu unterscheiden.
tr:nth-of-type(odd) {
background-color: #eeeeee;
}
tr th[scope="row"] {
background-color: #d6ecd4;
}
table {
border-collapse: collapse;
border: 2px solid rgb(140 140 140);
font-family: sans-serif;
font-size: 0.8rem;
letter-spacing: 1px;
}
th,
td {
border: 1px solid rgb(160 160 160);
padding: 8px 10px;
}
Dieses Beispiel erweitert die grundlegende Tabelle aus dem vorherigen Beispiel, indem eine Kopfzeile als erste Zeile der Tabelle hinzugefgt wird.
Eine zustzliche Tabellenzeile (<tr>) wird als erste Zeile der Tabelle mit Spaltenkopf-Zellen (<th>) hinzugefgt, die eine Kopfzeile fr jede Spalte bieten. Wir platzieren diese Zeile in einem <thead> Gruppierungselement, um anzugeben, dass dies die Kopfzeile der Tabelle ist. Das scope Attribut wird zu jeder Kopfzeile (<th>) innerhalb dieser Kopfzeile hinzugefgt, um explizit anzugeben, dass sich jede Kopfzeile auf alle Zellen innerhalb ihrer eigenen Spalte bezieht, auch wenn diese Zellen sich im <tbody> befinden.
<table>
<thead>
<tr>
<th scope="col">Symbol</th>
<th scope="col">Code word</th>
<th scope="col">Pronunciation</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">A</th>
<td>Alfa</td>
<td>AL fah</td>
</tr>
<tr>
<th scope="row">B</th>
<td>Bravo</td>
<td>BRAH voh</td>
</tr>
<tr>
<th scope="row">C</th>
<td>Charlie</td>
<td>CHAR lee</td>
</tr>
<tr>
<th scope="row">D</th>
<td>Delta</td>
<td>DELL tah</td>
</tr>
</tbody>
</table>
Das CSS ist fast unverndert gegenber dem vorherigen Beispiel, mit Ausnahme von zustzlichem Styling, um die "Kopfzeile" hervorzuheben, sodass die Spaltenberschriften sich von den anderen Zellen abheben.
tr:nth-of-type(odd) {
background-color: #eeeeee;
}
tr th[scope="col"] {
background-color: #505050;
color: white;
}
tr th[scope="row"] {
background-color: #d6ecd4;
}
table {
border-collapse: collapse;
border: 2px solid rgb(140 140 140);
font-family: sans-serif;
font-size: 0.8rem;
letter-spacing: 1px;
}
th,
td {
border: 1px solid rgb(160 160 160);
padding: 8px 10px;
}
Es gibt keine nativen Methoden zum Sortieren der Zeilen (<tr> Elemente) eines <table>. Aber durch die Verwendung von Array.prototype.sort(), Node.removeChild und Node.appendChild kann eine benutzerdefinierte sort() Funktion in JavaScript implementiert werden, um eine HTMLCollection von <tr>-Elementen zu sortieren.
Ein <tbody> Element wird in dieser Basistabelle verwendet, um den Krperabschnitt der Tabelle zu markieren und um drei Zeilen (<tr> Elemente) mit Daten (<td> Elemente) einzuschlieen, wodurch eine Spalte mit Zahlen in absteigender Reihenfolge erstellt wird.
<table>
<tbody>
<tr>
<td>3</td>
</tr>
<tr>
<td>2</td>
</tr>
<tr>
<td>1</td>
</tr>
</tbody>
</table>
Im unten stehenden JavaScript-Code wird die erstellte sort() Funktion an das <tbody> Element angehngt, sodass es die Tabellenzellen in aufsteigender Reihenfolge sortiert und die Anzeige entsprechend aktualisiert.
HTMLTableSectionElement.prototype.sort = function (cb) {
Array.from(this.rows)
.sort(cb)
.forEach((e) => this.appendChild(this.removeChild(e)));
};
document
.querySelector("table")
.tBodies[0].sort((a, b) => a.textContent.localeCompare(b.textContent));
table {
border-collapse: collapse;
border: 2px solid rgb(140 140 140);
font-family: sans-serif;
font-size: 0.8rem;
letter-spacing: 1px;
}
td {
border: 1px solid rgb(160 160 160);
padding: 4px 8px;
}
Dieses Beispiel erweitert die Basistabelle aus dem vorherigen Beispiel, indem das Sortieren interaktiv und unabhngig fr mehrere Spalten nutzbar gemacht wird.
Eine zustzliche Datenzelle (<td> Element) wird zu jeder Zeile (<tr> Element) innerhalb des Tabellenkrpers (<tbody> Element) hinzugefgt, um eine zweite Spalte mit Buchstaben in aufsteigender Reihenfolge zu erstellen. Mit dem <thead> Element wird ein Kopfabschnitt vor dem Krperabschnitt hinzugefgt, um eine Kopfzeile mit Tabellenkopfzellen (<th> Element) einzufhren. Diese Kopfzellen werden im unten stehenden JavaScript-Code verwendet, um sie anklickbar zu machen und dann das entsprechende Sortieren bei Aktivierung per Klick durchzufhren.
<table>
<thead>
<tr>
<th>Numbers</th>
<th>Letters</th>
</tr>
</thead>
<tbody>
<tr>
<td>3</td>
<td>A</td>
</tr>
<tr>
<td>2</td>
<td>B</td>
</tr>
<tr>
<td>1</td>
<td>C</td>
</tr>
</tbody>
</table>
Ein Klickereignishandler wird zu jedem Tabellenkopf (<th> Element) jeder <table> im document hinzugefgt; er sortiert alle Zeilen (<tr> Elemente) der <tbody> basierend auf den Inhalten der Datenzellen (<td> Elemente) in den Zeilen.
Hinweis:
Diese Lsung geht davon aus, dass die <td> Elemente durch reinen Text ohne untergeordnete Elemente gefllt sind.
const allTables = document.querySelectorAll("table");
for (const table of allTables) {
const tBody = table.tBodies[0];
const rows = Array.from(tBody.rows);
const headerCells = table.tHead.rows[0].cells;
for (const th of headerCells) {
const cellIndex = th.cellIndex;
th.addEventListener("click", () => {
rows.sort((tr1, tr2) => {
const tr1Text = tr1.cells[cellIndex].textContent;
const tr2Text = tr2.cells[cellIndex].textContent;
return tr1Text.localeCompare(tr2Text);
});
tBody.append(...rows);
});
}
}
table {
border-collapse: collapse;
border: 2px solid rgb(140 140 140);
font-family: sans-serif;
font-size: 0.8rem;
letter-spacing: 1px;
}
th,
td {
border: 1px solid rgb(160 160 160);
padding: 4px 8px;
}
th {
background-color: #505050;
color: white;
cursor: pointer;
}
Hinweis:
Um nutzbar und zugnglich zu sein, muss die Kopfzelle jeder sortierbaren Spalte als Sortierbutton erkennbar sein und jede muss definieren, ob die Spalte derzeit in aufsteigender oder absteigender Reihenfolge sortiert ist, visuell und mit dem aria-sort Attribut. Siehe das ARIA Authoring Practices Guide's sortable table Beispiel fr weitere Informationen.
| Inhaltskategorien | Keine |
|---|---|
| Erlaubter Inhalt |
Null oder mehr <td> und/oder
<th> Elemente;
skriptuntersttzende Elemente
(<script> und
<template>) sind ebenfalls erlaubt.
|
| Tag-Auslassung |
Start-Tag ist obligatorisch. End-Tag kann weggelassen werden, wenn das
<tr> Element unmittelbar gefolgt wird von einem
<tr> Element, oder wenn die Zeile das letzte Element
in ihrer bergeordneten Tabellen-Gruppe (<thead>,
<tbody> oder <tfoot>)
Element ist.
|
| Erlaubte Eltern |
<table> (nur wenn die Tabelle kein Kinder-
<tbody> Element hat und selbst dann nur nach allen
<caption>,
<colgroup> und
<thead> Elementen); ansonsten muss der Elternteil
ein <thead>, <tbody> oder
<tfoot> Element sein.
|
| Implizierte ARIA-Rolle |
row
|
| Erlaubte ARIA-Rollen | Beliebig |
| DOM-Schnittstelle | [`HTMLTableRowElement`](/de/docs/Web/API/HTMLTableRowElement) |
| Spezifikation |
|---|
| HTML # the-tr-element |
<caption>, <col>, <colgroup>, <table>, <tbody>, <td>, <tfoot>, <th>, <thead>: Andere tabellenbezogene Elementebackground-color: CSS-Eigenschaft zum Setzen der Hintergrundfarbe jeder Zellreiheborder: CSS-Eigenschaft zur Steuerung der Grenzen von Zellreihentext-align: CSS-Eigenschaft, um den Inhalt jeder Zellreihe horizontal auszurichtenvertical-align: CSS-Eigenschaft, um den Inhalt jeder Zellreihe vertikal auszurichten:nth-of-type, :first-of-type, :last-of-type: CSS-Pseudoklassen zur Auswahl der gewnschten Zellreihen<a><abbr><acronym><address><area><article><aside><audio><b><base><bdi><bdo><big><blockquote><body><br><button><canvas><caption><center><cite><code><col><colgroup><data><datalist><dd><del><details><dfn><dialog><dir><div><dl><dt><em><embed><fencedframe><fieldset><figcaption><figure><font><footer><form><frame><frameset><geolocation><h1><h6><head><header><hgroup><hr><html><i><iframe><img><input><ins><kbd><label><legend><li><link><main><map><mark><marquee><menu><meta><meter><nav><nobr><noembed><noframes><noscript><object><ol><optgroup><option><output><p><param><picture><plaintext><pre><progress><q><rb><rp><rt><rtc><ruby><s><samp><script><search><section><select><selectedcontent><slot><small><source><span><strike><strong><style><sub><summary><sup><table><tbody><td><template><textarea><tfoot><th><thead><time><title><tr><track><tt><u><ul><var><video><wbr><xmp><input>-Typen<input type="button"><input type="checkbox"><input type="color"><input type="date"><input type="datetime-local"><input type="email"><input type="file"><input type="hidden"><input type="image">`<input type="month">`<input type="number"><input type="password"><input type="radio"><input type="range"><input type="reset"><input type="search"><input type="submit"><input type="tel"><input type="text"><input type="time"><input type="url"><input type="week"><script type>Der Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |