Heim > Web-Frontend > CSS-Tutorial > Wie kann ich mit reinem JavaScript alle auf ein bestimmtes Element angewendeten CSS-Regeln abrufen?

Wie kann ich mit reinem JavaScript alle auf ein bestimmtes Element angewendeten CSS-Regeln abrufen?

Susan Sarandon
Freigeben: 2024-12-19 07:06:14
Original
189 Leute haben es durchsucht

How Can I Retrieve All CSS Rules Applied to a Specific Element Using Pure JavaScript?

Alle mit einem Element verknüpften CSS-Regeln abrufen

Beim Browser-Rendering werden CSS-Regeln zusammengestellt und auf bestimmte Elemente angewendet. Dieser hierarchische Prozess gipfelt im endgültigen Erscheinungsbild der Elemente, wie es in Browser-Tools wie Firebug gezeigt wird. Der Zugriff auf diese berechneten CSS-Regeln ohne zusätzliche Plugins erfordert jedoch eine benutzerdefinierte Lösung in reinem JavaScript.

Lösung:

Um CSS-Regeln für ein Element abzurufen, können wir JavaScript nutzen DOM-API und CSSRule-Objekte. Der folgende Codeausschnitt bietet eine browserübergreifend kompatible Lösung:

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

Diese Funktion nimmt ein Element als Eingabe und gibt ein Array zurück, das die dafür geltenden CSS-Regeln enthält. Um die Regeln für ein bestimmtes Element abzurufen, rufen Sie einfach css(document.getElementById('elementId')) auf.

Beispiel:

Berücksichtigen Sie das folgende HTML und CSS:

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

<p>
Nach dem Login kopieren

Der Aufruf von css(document.getElementById('description')) würde Geben Sie das folgende Array zurück:

[
    "p { color: red; }",
    "#description { font-size: 20px; }"
]
Nach dem Login kopieren

Dieses Array listet die beiden CSS-Regeln auf, die für das Element gelten, und bietet so ein klares Verständnis seines endgültigen Erscheinungsbilds.

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

Quelle:php.cn
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