Signatur
Beschreibung
document.alinkColor liest oder setzt die Farbe, in der ein Link während des Anklickens dargestellt wird, also solange er „aktiv“ ist. Die Eigenschaft spiegelt das veraltete HTML-Attribut alink des <body>-Elements wider. Sie gibt denselben Wert zurück wie document.body.aLink und ändert ihn auch dort.
Der Wert ist ein String mit einem Farbnamen (z. B. "red") oder einer Hex-Farbe (z. B. "#ff0000"). Ist kein alink-Attribut gesetzt, liefert die Eigenschaft einen leeren String "". Die Standardfarbe des Browsers wird dabei nicht zurückgegeben.
Die Eigenschaft stammt aus den Anfängen des Webs, als Aussehen noch per HTML-Attribut festgelegt wurde. In modernem Code solltest du sie nicht mehr verwenden. Nutze stattdessen die CSS-Pseudoklasse :active, etwa a:active { color: red; }. Wenn du die Farbe per Skript ändern willst, geht das über CSS-Custom-Properties oder element.style.
Rückgabewert
alink-Attribut gesetzt, wird ein leerer String "" zurückgegeben. Beim Setzen wird der Wert in das Attribut alink von <body> geschrieben.Beispiele
Aktuelle Farbe für aktive Links auslesen
// HTML: <body alink="#ff0000">
const farbe = document.alinkColor;
console.log(farbe || "(kein alink gesetzt)");
console.log(document.body.getAttribute("alink"));
Farbe setzen (Legacy-Weg)
document.alinkColor = "orange";
// Die Änderung landet im Attribut von <body>
console.log(document.body.aLink);
console.log(document.body.getAttribute("alink"));
Moderne Alternative mit CSS :active
// Statt document.alinkColor: eine Regel für :active anlegen
const sheet = new CSSStyleSheet();
sheet.replaceSync("a:active { color: var(--link-active, orange); }");
document.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];
// Die Farbe später per Skript ändern
document.documentElement.style.setProperty("--link-active", "crimson");
console.log(getComputedStyle(document.documentElement).getPropertyValue("--link-active"));
// Wichtig · Fallstricke
- Veraltet: Die Eigenschaft steht in der HTML-Spezifikation nur noch aus Kompatibilitätsgründen. Verwende in neuem Code CSS (
a:active). - Die Eigenschaft liefert nicht die tatsächlich angezeigte Farbe. Sie gibt nur den Wert des
alink-Attributs zurück, sonst"". Die tatsächlich angezeigte Farbe bekommst du übergetComputedStyle(). - CSS-Regeln für
a:activehaben Vorrang vor demalink-Attribut. Deshalb wirkt eine Änderung überalinkColorwomöglich gar nicht sichtbar. - Gibt es kein
<body>, z. B. in einem Frameset-Dokument oder bevorbodyexistiert, liefert das Lesen"", und das Setzen bewirkt nichts. - Kompatibilität: Chrome, Firefox, Safari und Edge unterstützen die Eigenschaft weiterhin. Firefox verhielt sich früher in einigen Details anders. Lange Zeit galt: Wer sich auf sie verlässt, bekommt keine Garantie für die Zukunft.