Heim > Artikel > Web-Frontend > Wie kann JavaScript auf CSS-Eigenschaften von HTML-Elementen zugreifen?
CSS-Eigenschaftsextraktion mit JavaScript
Der Zugriff auf CSS-Eigenschaften von HTML-Elementen über JavaScript ist eine wesentliche Fähigkeit für die dynamische Webentwicklung. Stellen Sie sich das Szenario vor, in dem ein externes Stylesheet, z. B. „style.css“, mit einer Webseite verknüpft ist. Um bestimmte CSS-Eigenschaften zu manipulieren, ist es notwendig, ihre Werte mit JavaScript abzurufen.
Optionen zum Lesen von CSS-Eigenschaften
Es gibt zwei Hauptmethoden, um dies zu erreichen:
Beispiel: Extrahieren der Farbeigenschaft
Bedenken Sie den folgenden Codeausschnitt:
<code class="javascript">function getStyleProp(elem, prop) { if (window.getComputedStyle) { return window.getComputedStyle(elem, null).getPropertyValue(prop); } else if (elem.currentStyle) { return elem.currentStyle[prop]; // IE } } window.onload = function () { var d = document.createElement("div"); // Create div d.className = "layout"; // Set class = "layout" alert(getStyleProp(d, "color")); // Get property value };</code>
Diese Funktion benötigt zwei Parameter: das Zielelement und die gewünschte CSS-Eigenschaft (z. B. „Farbe“). Durch Erstellen eines temporären div-Elements mit demselben Stil wie das Zielelement extrahiert der Code den angegebenen Eigenschaftswert und gibt ihn zurück.
Erweiterte Techniken
Um Stileigenschaften abzurufen, die Um Inline-Stile auszuschließen, kann die Funktion getNonInlineStyle() verwendet werden:
<code class="javascript">function getNonInlineStyle(elem, prop) { var style = elem.cssText; // Cache the inline style elem.cssText = ""; // Remove all inline styles var inheritedPropValue = getStyle(elem, prop); // Get inherited value elem.cssText = style; // Add the inline style back return inheritedPropValue; }</code>
Durch vorübergehendes Löschen von Inline-Stilen zeigt diese Funktion die geerbten Eigenschaftswerte aus dem Stylesheet an.
Das obige ist der detaillierte Inhalt vonWie kann JavaScript auf CSS-Eigenschaften von HTML-Elementen zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!