Start · Sprachen · JavaScript · Referenz · Document.alinkColor

Document.alinkColor

Eigenschaft

Gibt die Farbe aktiver Links im Dokumentkörper zurück oder legt sie fest. Das entspricht dem Attribut <code>alink</code> von <code>&lt;body&gt;</code>. Die Eigenschaft ist veraltet.

seit JavaScript Veraltet (deprecated) – in allen Browsern noch vor deprecated seit ja Kategorie: webapi

Signatur

Document.alinkColor

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

Typ
string
Beschreibung
Die Farbe aktiver Links als Farbname oder Hex-String. Ist kein 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"));
#ff0000 #ff0000

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"));
orange orange

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"));
crimson

// 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 über getComputedStyle().
  • CSS-Regeln für a:active haben Vorrang vor dem alink-Attribut. Deshalb wirkt eine Änderung über alinkColor womöglich gar nicht sichtbar.
  • Gibt es kein <body>, z. B. in einem Frameset-Dokument oder bevor body existiert, 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.