Signatur
Beschreibung
fontsize() gehört zu den sogenannten HTML-Wrapper-Methoden von String. Sie gibt einen neuen String zurück, der den ursprünglichen Text in <font size="size">…</font> einschließt. Der ursprüngliche String bleibt unverändert, denn Strings sind in JavaScript unveränderlich.
Die Methode ist in Annex B der ECMAScript-Spezifikation festgelegt. Sie existiert nur, damit alter Code weiter funktioniert, und gilt als veraltet. Das <font>-Element selbst wurde in HTML5 entfernt. Schriftgrößen legt man heute mit CSS fest, zum Beispiel über element.style.fontSize oder eine CSS-Klasse.
Das Argument wird mit String(size) in einen String umgewandelt. Doppelte Anführungszeichen darin werden zu " maskiert. Der eigentliche Text wird dagegen nicht maskiert. Gültige size-Werte des alten <font>-Elements sind die Ganzzahlen 1 bis 7, wobei 3 die Standardgröße ist. Relative Angaben wie "+2" oder "-1" verschieben die Größe gegenüber dieser Grundgröße.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $size Pflicht | number|string | Schriftgröße für das Attribut size: eine Ganzzahl von 1 bis 7 oder ein relativer Wert wie "+2" bzw. "-1". Der Wert wird in einen String umgewandelt. Fehlt er, entsteht size="undefined". |
Rückgabewert
<font size="size">str</font>.Beispiele
Grundlegende Verwendung
const text = "Hallo Welt";
console.log(text.fontsize(7));
console.log(text.fontsize("-1"));
console.log(text); // Original bleibt unverändert
Moderner Ersatz mit CSS und DOM
// Statt: element.innerHTML = "Wichtig!".fontsize(6);
const span = document.createElement("span");
span.textContent = "Wichtig!";
span.style.fontSize = "2rem";
document.body.append(span);
console.log(span.outerHTML);
Fallstrick: Anführungszeichen werden maskiert, der Text nicht
const eingabe = "<b>fett</b>";
console.log(eingabe.fontsize('5" onmouseover="x'));
console.log("Text".fontsize());
// Wichtig · Fallstricke
- Veraltet: Die Methode steht nur aus Kompatibilitätsgründen in Annex B der Spezifikation und sollte in neuem Code nicht verwendet werden. Alle gängigen Browser, Node.js und Deno bieten sie weiterhin an, das kann sich aber ändern.
- Obsoletes HTML:
<font>ist in HTML5 nicht mehr gültig. Nutze stattdessen CSS (font-size). - XSS-Gefahr: Der String-Inhalt wird nicht maskiert. Wenn du das Ergebnis mit Benutzereingaben über
innerHTMLeinfügst, kann das zu Cross-Site-Scripting führen. VerwendetextContentund setze Stile über das DOM. - Der Aufruf auf
nulloderundefined(z. B. übercall) löst einenTypeErroraus. - TypeScript und Linter markieren die Methode als deprecated.