Start · Sprachen · JavaScript · Referenz · HTMLTableElement.tFoot

HTMLTableElement.tFoot

Eigenschaft

Liefert das erste <code>&lt;tfoot&gt;</code>-Kindelement einer Tabelle oder <code>null</code>; beim Setzen wird der Tabellenfuß ersetzt oder entfernt.

seit JavaScript Baseline: alle Browser Kategorie: webapi

Signatur

HTMLTableElement.tFoot

Beschreibung

Die Eigenschaft tFoot des Interfaces HTMLTableElement gibt das erste direkte <tfoot>-Kind einer Tabelle als HTMLTableSectionElement zurück. Hat die Tabelle keinen Tabellenfuß, ist der Wert null. Verschachtelte <tfoot>-Elemente in inneren Tabellen werden nicht berücksichtigt.

Die Eigenschaft ist les- und schreibbar. Wird ihr ein <tfoot>-Element zugewiesen, entfernt der Browser zuerst den bisherigen ersten Tabellenfuß und hängt das neue Element am Ende der Tabelle an. Die Zuweisung von null entfernt den vorhandenen Tabellenfuß.

Typische Einsatzfälle sind Summen- oder Ergebniszeilen, die per Skript berechnet und aktualisiert werden, oder das Prüfen, ob eine Tabelle bereits einen Fußbereich hat. Wenn du nur „Fuß holen oder anlegen“ willst, ist createTFoot() meist bequemer, zum Entfernen gibt es deleteTFoot().

Parameter

Name Typ Default Beschreibung
$value (beim Setzen) HTMLTableSectionElement | null Ein <tfoot>-Element, das den bisherigen Tabellenfuß ersetzt, oder null, um ihn zu entfernen.

Rückgabewert

Typ
HTMLTableSectionElement | null
Beschreibung
Das erste <tfoot>-Kind der Tabelle oder null, wenn keines existiert.

Beispiele

Prüfen, ob eine Tabelle einen Fuß hat

const table = document.createElement('table');
table.innerHTML = '<tbody><tr><td>1</td></tr></tbody><tfoot><tr><td>Summe</td></tr></tfoot>';

console.log(table.tFoot?.tagName);
console.log(document.createElement('table').tFoot);
TFOOT null

Summenzeile berechnen und in den Tabellenfuß schreiben

const table = document.createElement('table');
table.innerHTML = `
  <tbody>
    <tr><td>Äpfel</td><td>2.50</td></tr>
    <tr><td>Birnen</td><td>3.20</td></tr>
  </tbody>`;

const sum = [...table.tBodies[0].rows]
  .reduce((acc, row) => acc + Number(row.cells[1].textContent), 0);

// Fuß holen oder neu anlegen
const foot = table.tFoot ?? table.createTFoot();
foot.innerHTML = '';
const row = foot.insertRow();
row.insertCell().textContent = 'Summe';
row.insertCell().textContent = sum.toFixed(2);

console.log(table.tFoot.rows[0].cells[1].textContent);
5.70

Tabellenfuß per Zuweisung ersetzen und entfernen

const table = document.createElement('table');
table.createTFoot().insertRow().insertCell().textContent = 'Alt';

const newFoot = document.createElement('tfoot');
newFoot.insertRow().insertCell().textContent = 'Neu';
table.tFoot = newFoot; // alter Fuß wird entfernt

console.log(table.querySelectorAll('tfoot').length, table.tFoot.textContent);

table.tFoot = null; // Fuß entfernen (wie deleteTFoot())
console.log(table.tFoot);
1 Neu null

// Wichtig · Fallstricke

  • Wird ein Element zugewiesen, das kein <tfoot> ist, etwa ein <thead>, wirft der Browser eine DOMException vom Typ HierarchyRequestError. Bei Werten, die überhaupt kein HTMLTableSectionElement sind, kommt ein TypeError.
  • Es wird nur das erste <tfoot> berücksichtigt. Weitere, ungültige <tfoot>-Elemente bleiben beim Ersetzen erhalten.
  • Seit HTML5 darf <tfoot> nach <tbody> stehen. Beim Setzen hängen moderne Browser das Element am Ende der Tabelle an. Ältere Browser haben es teilweise vor dem ersten <tbody> eingefügt. Die Darstellung ist in beiden Fällen gleich: Der Fuß erscheint unten.
  • Die Eigenschaft wird von allen Browsern unterstützt, auch von sehr alten.
  • Vorsicht beim Befüllen per innerHTML mit Nutzerdaten (XSS-Gefahr). Für Werte ist textContent die bessere Wahl.