Gunnar Bittersmann: CSS-Klassen Werte in Javascript auslesen?

Beitrag lesen

@@Rolf B

Es mag mehr als ein Stylesheet mit dieser Regel geben

Das wird in der ersten Antwort berücksichtigt.

und es kann sogar in einem einzigen Stylesheet mehrere Regeln geben, die die Klasse animation beeinflussen. Entweder durch Kombinatoren (li .animation oder #foo .animation oder .animation:first-of-type() oder oder oder)

Und keine dieser Regeln wird gefunden. Und auch nicht .foo, .animation {}.

if (classes[x].selectorText == className_) ist falsch; es darf nicht auf Gleichheit geprüft werden, sondern ob der fragliche Selektor className_ in classes[x].selectorText enthalten ist.

Seltsame Benennung mit dem _ am Ende.

Und die Benennung var classes = styleSheets[i].rules || styleSheets[i].cssRules ist auch falsch. Der Ausdruck auf der rechten Seite liefert CSS-Regeln; das können Regeln für Klassenselektoren sein oder auch für Elementtyp-Selektoren oder ID-Selektoren o.a. Die Variablenbezeichnung classes ist unpassend.

Für welche Uralt-Browser ist eigentlich styleSheets[i].rules gedacht?


für ein konkretes Element im DOM feststellen, welche transition-Eigenschaft dafür gilt? Dafür suchst Du dir dieses Element heraus und rufst

window.getComputedStype(element);

auf, um den zu diesem Zeitpunkt gültigen Style für dieses Element zu finden. Über Spezifizität kann sich dann der Browser den Kopf die CPU zerbrechen.

Ja, vermutlich besser – aber immer noch nicht gut.

🖖 Stay hard! Stay hungry! Stay alive! Stay home!

--
Home Office ist so frustierend, weil man jetzt noch viel stärker bemerkt mit wievielen Menschen man zu tun hat, die nicht sinnerfassend lesen können. (@Grantscheam)