Heim > Web-Frontend > CSS-Tutorial > Wie kann ich mit reinem JavaScript alle anwendbaren CSS-Regeln für ein Element abrufen?

Wie kann ich mit reinem JavaScript alle anwendbaren CSS-Regeln für ein Element abrufen?

Susan Sarandon
Freigeben: 2024-12-28 22:56:10
Original
425 Leute haben es durchsucht

How Can I Retrieve All Applicable CSS Rules for an Element Using Pure JavaScript?

Auf ein Element anwendbare CSS-Regeln mit JavaScript finden

In der Webentwicklung ist der Zugriff auf CSS-Elemente bestimmter Klassen oder IDs eine häufige Aufgabe. oft unterstützt durch Tools und APIs. Allerdings stellen Browser alle anwendbaren CSS-Regeln aus verschiedenen Quellen zusammen, um das Erscheinungsbild eines Elements zu bestimmen. Wie können wir diese Funktionalität in reinem JavaScript replizieren, ohne auf Browser-Plugins angewiesen zu sein?

Ermitteln berechneter CSS-Regeln

Betrachten Sie das folgende HTML- und CSS-Beispiel:

<style type="text/css">
    p { color :red; }
    #description { font-size: 20px; }
</style>

<p>
Nach dem Login kopieren

In diesem Fall erbt das Element p#description zwei CSS-Regeln: eine rote Farbe und eine Schriftgröße von 20 Pixel. Ziel ist es, den Ursprung dieser Regeln zu bestimmen.

JavaScript-Implementierung

Um dies zu erreichen, können wir die folgende JavaScript-Funktion verwenden:

function css(el) {
    var sheets = document.styleSheets, ret = [];
    el.matches = el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector || el.oMatchesSelector;
    for (var i in sheets) {
        var rules = sheets[i].rules || sheets[i].cssRules;
        for (var r in rules) {
            if (el.matches(rules[r].selectorText)) {
                ret.push(rules[r].cssText);
            }
        }
    }
    return ret;
}
Nach dem Login kopieren

Verwendung

var rules = css(document.getElementById('elementId'));
Nach dem Login kopieren

Die Regelvariable enthält jetzt ein Array aller CSS-Regeln anwendbar auf das ausgewählte Element.

Hinweis:

Diese Funktion basiert auf der Methode Element.matches(), die für ältere Browser eine browserübergreifende Kompatibilitätspolyfüllung erfordert. Es bietet jedoch eine schnelle und effiziente Methode zur Identifizierung von CSS-Regeln ohne zusätzliche Browser-Plugins.

Das obige ist der detaillierte Inhalt vonWie kann ich mit reinem JavaScript alle anwendbaren CSS-Regeln für ein Element abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage