Signatur
Beschreibung
Die Eigenschaft HTMLTableRowElement.chOff spiegelt das veraltete HTML-Attribut charoff eines <tr>-Elements wider. Ursprünglich sollte sie zusammen mit align="char" und ch angeben, um wie viele Zeichen der Zellinhalt vom Ausrichtungszeichen (etwa dem Dezimalkomma) versetzt wird.
Diese zeichenbasierte Ausrichtung haben Browser nie umgesetzt. Die Eigenschaft liest und schreibt deshalb nur den Attributwert als String. Auf die Darstellung hat sie keinen Einfluss.
In neuem Code sollte man chOff nicht verwenden. Zellinhalte richtet man mit CSS aus, etwa mit text-align, font-variant-numeric: tabular-nums oder Padding. Die Eigenschaft ist höchstens für die Pflege oder Analyse von altem HTML-Markup nützlich.
Rückgabewert
charoff. Fehlt das Attribut, ist es ein leerer String "". Beim Setzen wird das Attribut charoff geschrieben.Beispiele
Attributwert aus altem Markup auslesen
// HTML: <table><tr id="zeile" align="char" char="," charoff="2"><td>12,50</td></tr></table>
const zeile = document.getElementById('zeile');
console.log(zeile.chOff);
console.log(typeof zeile.chOff);
Setzen spiegelt nur das Attribut, ohne sichtbare Wirkung
const zeile = document.querySelector('tr');
zeile.chOff = '3';
console.log(zeile.getAttribute('charoff'));
// Die Darstellung der Zeile bleibt unverändert
Veraltete Attribute beim Aufräumen entfernen
// Alte Tabellen modernisieren: charoff entfernen und per CSS ausrichten
document.querySelectorAll('tr[charoff]').forEach((tr) => {
console.log(`Entferne charoff="${tr.chOff}"`);
tr.removeAttribute('charoff');
tr.style.fontVariantNumeric = 'tabular-nums';
tr.style.textAlign = 'right';
});
// Wichtig · Fallstricke
- Veraltet: Das Attribut
charoffist in HTML5 obsolet. Validatoren melden es als Fehler. - Keine Wirkung: Kein aktueller Browser setzt die zeichenbasierte Ausrichtung um. Die Eigenschaft ist nur ein String-Spiegel des Attributs.
- Der Wert wird nicht als Zahl ausgewertet.
chOff = 'abc'ist erlaubt und wird unverändert gespeichert. - Kompatibilität: Die Eigenschaft existiert aus Gründen der Abwärtskompatibilität in Chrome, Firefox, Safari und Edge. Man sollte sich aber nicht darauf verlassen.
- Alternative: CSS mit
text-alignundfont-variant-numeric: tabular-nums. Die Ausrichtung pertext-align: \",\"ist spezifiziert, aber kaum unterstützt.