Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Kann JavaScript auf Werte ungültiger CSS-Eigenschaften zugreifen?

DDD
Freigeben: 2024-10-24 07:16:30
Original
601 Leute haben es durchsucht

Can JavaScript Access Values of Invalid CSS Properties?

Kann JavaScript ungültige CSS-Eigenschaftswerte abrufen?

Benutzerdefinierte CSS-Eigenschaften, gekennzeichnet durch Namen mit einem vorangestellten Bindestrich, bieten einen Mechanismus zum Definieren von und Zugriff auf einzigartige Stile innerhalb einer Anwendung. Kann JavaScript jedoch auf die Werte dieser benutzerdefinierten Eigenschaften zugreifen, wenn diese ungültig sind oder vom Browser nicht erkannt werden?

Erklärung

Das CSSStyleDeclaration-Objekt macht die Stileigenschaften von verfügbar ein Element in JavaScript. Wenn ein ungültiger Eigenschaftsname wie „-my-foo“ auftritt, überspringt dieses Objekt normalerweise die Eigenschaft und fährt mit anderen gültigen Eigenschaften fort.

Die DOM-Level-2-Stilspezifikation schlägt vor, dass alle CSS-Eigenschaften innerhalb eines Der Deklarationsblock sollte über die CSSStyleDeclaration-Schnittstelle zugänglich sein, einschließlich ungültiger. In der Praxis unterstützen Browser wie Chrome und Firefox dieses Verhalten jedoch nicht.

Trotz des fehlenden direkten JavaScript-Zugriffs auf die Werte ungültiger CSS-Eigenschaften besteht ein alternativer Ansatz darin, den rohen CSS-Text zu analysieren. Durch Extrahieren der Stileigenschaften aus dem entsprechenden Stilelement können Sie den Wert einer benutzerdefinierten Eigenschaft manuell identifizieren und abrufen, auch wenn diese ungültig ist.

Codebeispiel

Die Der folgende Code zeigt, wie der rohe CSS-Text analysiert und der Wert der Eigenschaft „-my-foo“ abgerufen wird:

const styleText = document.getElementsByTagName("style")[0].innerText;
const propertyName = "-my-foo";

const value = styleText.match(new RegExp(`\b${propertyName}:\s*(.+?)\b`, "i"))[1];
Nach dem Login kopieren

Hinweis: Dieser Ansatz erfordert einen regulären Ausdruck, der mit übereinstimmt Geben Sie den Namen der benutzerdefinierten Eigenschaft ein und extrahieren Sie ihren Wert. Es gilt als Low-Level-Lösung und ist möglicherweise nicht für alle Szenarien die effizienteste oder geeignetste Methode.

Das obige ist der detaillierte Inhalt vonKann JavaScript auf Werte ungültiger CSS-Eigenschaften zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!