Start · Sprachen · JavaScript · Referenz · HTMLTableCellElement.ch

HTMLTableCellElement.ch

Eigenschaft

Veraltete String-Eigenschaft, die das HTML-Attribut <code>char</code> einer Tabellenzelle widerspiegelt. Sie hat keinen Einfluss auf die Darstellung.

seit JavaScript Veraltet (deprecated) – in allen gängigen Browsern deprecated seit ja Kategorie: webapi

Signatur

HTMLTableCellElement.ch

Beschreibung

Die Eigenschaft ch des Interfaces HTMLTableCellElement spiegelt das veraltete HTML-Attribut char von <td>- und <th>-Elementen wider. Ursprünglich sollte sie ein Zeichen festlegen, an dem der Inhalt einer Spalte ausgerichtet wird, z. B. das Dezimaltrennzeichen "." zusammen mit align="char". So hätten Zahlen am Komma untereinander stehen sollen.

Kein Browser hat diese Ausrichtung jemals umgesetzt. Die Eigenschaft lässt sich lesen und schreiben, und ein Schreibzugriff ändert auch das Attribut char im DOM. Auf die Darstellung hat das aber keinerlei Auswirkung. Heute ist sie nur noch interessant, wenn du alte HTML-Dokumente untersuchst oder bereinigst.

Für neuen Code solltest du ch nicht verwenden. Eine Ausrichtung an Dezimalstellen erreichst du mit CSS, z. B. mit text-align: right und font-variant-numeric: tabular-nums. Die CSS-Eigenschaft text-align: "." (Ausrichtung an einem Zeichen) ist spezifiziert, wird aber ebenfalls kaum unterstützt.

Rückgabewert

Typ
string
Beschreibung
Der Wert des Attributs char. Fehlt das Attribut, ist es eine leere Zeichenkette "". Beim Schreiben wird das Attribut gesetzt.

Beispiele

Attribut char auslesen

// HTML: <table><tr><td id="preis" align="char" char=",">12,50</td></tr></table>
const zelle = document.getElementById('preis');
console.log(zelle.ch);
console.log(zelle.getAttribute('char'));
, ,

Wert setzen – ohne sichtbare Wirkung

const zelle = document.querySelector('td');
console.log(JSON.stringify(zelle.ch)); // Attribut fehlt
zelle.ch = '.';
console.log(zelle.outerHTML);
// Die Darstellung der Zelle ändert sich nicht
"" <td char=".">…</td>

Altes Markup bereinigen und durch CSS ersetzen

// Veraltete char-/align-Attribute entfernen und durch CSS ersetzen
document.querySelectorAll('td, th').forEach((zelle) => {
  if (zelle.ch) {
    zelle.removeAttribute('char');
    zelle.removeAttribute('align');
    zelle.style.textAlign = 'right';
    zelle.style.fontVariantNumeric = 'tabular-nums';
  }
});
console.log('Bereinigt');
Bereinigt

// Wichtig · Fallstricke

  • Veraltet: Die Eigenschaft wird in HTML als überholt geführt. Browser behalten sie nur aus Kompatibilitätsgründen, und sie könnte irgendwann entfallen.
  • Keine Wirkung: Kein Browser richtet Zellinhalte am angegebenen Zeichen aus, auch nicht zusammen mit align="char".
  • Verwechsle die Eigenschaft nicht mit der CSS-Längeneinheit ch (Breite der Ziffer „0“). Die beiden haben nichts miteinander zu tun.
  • Das Attribut heißt im HTML char, die DOM-Eigenschaft aber ch. Genauso gehört charoff zu chOff.
  • Alternative: CSS mit text-align und font-variant-numeric: tabular-nums.