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: Methode get()

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 Methode get() der Schnittstelle StylePropertyMapReadOnly gibt für den ersten Wert der angegebenen Eigenschaft ein von CSSStyleValue abgeleitetes Objekt zurück.

Verwenden Sie getAll(), um alle Werte einer CSS-Eigenschaft abzurufen, die mehrere Werte haben kann, etwa background-image oder transition.

Syntax

js
get(property)

Parameter

property

Der Name der Eigenschaft. Bei Namen benutzerdefinierter Eigenschaften (die mit -- beginnen) wird zwischen Groß- und Kleinschreibung unterschieden; bei Namen von Standardeigenschaften nicht.

Rückgabewert

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

Der konkrete Typ des zurückgegebenen Objekts hängt von der Eigenschaft und ihrem Wert ab. Beispielsweise kann eine Eigenschaft, der ein Schlüsselwort zugewiesen wurde, ein CSSKeywordValue zurückgeben, während eine Eigenschaft, der das Ergebnis einer mathematischen Operation zugewiesen wurde, ein CSSMathSum zurückgeben kann.

Ausnahmen

TypeError

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

Beispiele

Grundlegende Verwendung

Dieses Beispiel zeigt, wie Sie einige Eigenschaften und ihre Werte abrufen.

HTML

Zunächst erstellen wir einen Link innerhalb eines Absatzes:

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

CSS

Das CSS legt font-weight für den Absatz fest 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

Zunächst rufen wir computedStyleMap() für das Element auf, um dessen Style-Map zu erhalten: ein StylePropertyMapReadOnly-Objekt. Wir erstellen ein Array der Eigenschaften, die uns interessieren, und verwenden die Methode get() von StylePropertyMapReadOnly, um nur deren 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

Verschiedene Werttypen abrufen

Dieses Beispiel zeigt, dass get() je nach Eigenschaft und ihrem Wert Objekte unterschiedlichen Typs zurückgeben kann.

Zunächst werden mithilfe von CSS mehrere unterschiedliche Eigenschaften auf ein Element angewendet. Anschließend werden sie mit JavaScript ausgelesen und der Name des Konstruktors sowie der Wert jeder Eigenschaft protokolliert. Der Code für die Protokollierung selbst ist nicht Teil der Demonstration und wird daher hier ausgeblendet.

HTML

Zunächst definieren wir ein <div> mit der id demoBox, dem wir Stile hinzufügen.

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 die Demo-Box zu erhalten. Dann durchlaufen wir alle hinzugefügten Eigenschaften und protokollieren jeweils den Namen des Konstruktors und den Wert.

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