Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

StylePropertyMapReadOnly: get()-Methode

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die get()-Methode des StylePropertyMapReadOnly-Interfaces gibt ein vom CSSStyleValue stammendes Objekt für den ersten Wert der angegebenen Eigenschaft zurück.

Verwenden Sie getAll(), um alle Werte einer CSS-Eigenschaft zu erhalten, die mehrere Werte haben kann, wie z.B. background-image oder transition.

Syntax

js
get(property)

Parameter

property

Der Name der Eigenschaft. Eigennamen von Eigenschaften (beginnend mit --) werden groß-/kleinschreibungssensitiv abgeglichen; Standard-Eigenschaftsnamen nicht.

Rückgabewert

Ein vom CSSStyleValue abgeleitetes Objekt oder undefined, wenn property keinen Wert in der Map hat.

Der konkrete Typ des zurückgegebenen Objekts hängt von der Eigenschaft und ihrem Wert ab. Zum Beispiel könnte eine einem Schlüsselwort zugewiesene Eigenschaft ein CSSKeywordValue zurückgeben, während eine einem mathematischen Ergebnis zugewiesene Eigenschaft ein CSSMathSum zurückgeben könnte.

Ausnahmen

TypeError

Wird ausgelöst, wenn property kein gültiger CSS-Eigenschaftsname ist.

Beispiele

Grundlegende Verwendung

Dieses Beispiel zeigt, wie man einige Eigenschaften und deren Werte abrufen kann.

HTML

Zuerst erstellen wir einen Link in einem Absatz:

html
<p>
  <a href="https://example.com">Link</a>
</p>

CSS

Das CSS gestaltet das font-weight des Absatzes und definiert und verwendet eine benutzerdefinierte Eigenschaft für die Farbe des Links:

css
p {
  font-weight: bold;
}
a {
  --color: red;
  color: var(--color);
}

JavaScript

Zuerst rufen wir computedStyleMap() auf dem Element auf, um seine Style-Map zu erhalten: ein StylePropertyMapReadOnly-Objekt. Wir erstellen ein Array von interessierenden Eigenschaften und verwenden die get()-Methode von StylePropertyMapReadOnly, um nur diese Werte zu protokollieren.

js
// get the element and its style map
const myElement = document.querySelector("a");
const styleMap = myElement.computedStyleMap();

// array of properties we're interested in
const properties = ["font-weight", "border-left-color", "color", "--color"];

// log the value of each property of interest
for (const property of properties) {
  log(`${property}: ${styleMap.get(property)}`);
}

Ergebnis

Abrufen verschiedener Wertetypen

Dieses Beispiel zeigt, dass get() je nach Eigenschaft und Wert Objekte verschiedener Typen zurückgeben kann.

Zuerst werden eine Reihe verschiedener Eigenschaften auf ein Element mit CSS angewendet. Dann werden sie über JavaScript zurückgelesen und der Konstruktorname und der Wert jeder Eigenschaft protokolliert. Der eigentliche Logcode ist nicht Teil der Demonstration, daher wird er hier ausgeblendet.

HTML

Zuerst definieren wir ein <div> mit der ID demoBox, dem wir Stile hinzufügen werden.

html
<div id="demoBox">Text</div>

CSS

css
#demoBox {
  --my-custom-property: "some text";
  opacity: 0.5;
  width: calc(30% - 20px);
  display: block;
  transform: translate(10px, 10px);
}

JavaScript

Als nächstes verwenden wir computedStyleMap(), um das StylePropertyMapReadOnly-Objekt für den Demo-Box zu erhalten, und iterieren durch jede der hinzugefügten Eigenschaften, wobei deren Konstruktorname und Wert protokolliert werden.

js
const styleMap = document.querySelector("#demoBox").computedStyleMap();
const properties = [
  "opacity",
  "display",
  "width",
  "transform",
  "--my-custom-property",
];

for (const property of properties) {
  const value = styleMap.get(property);
  log(property);
  log(`  type: ${value.constructor.name}`);
  log(`  value: ${value}\n`);
}

Ergebnis

Spezifikationen

Spezifikation
CSS Typed OM Level 1
# dom-stylepropertymapreadonly-get

Browser-Kompatibilität

Siehe auch