getComputedStyle - Vererbung bestimmen
code-o-mat (unregistriert)
- javascript
gudd'n Tach,
kennt sich hier jemand mit der Anwendung von getComputedStyle() aus? Wäre für einen Link auf ein DEUTSCHE Seite mit Erklärungen der Methoden dankbar.
Vielleicht weiß auch jemand, wie ich feststellen kann, ob eine Eigenschaft vererbt wurde? Also: wenn ich z.B. im CSS stehen habe:
p {color:#ff0000}
und im Quelltext steht:
<p id="meinAbsatz">
und ich frage mit JS ab:
window.getComputedStyle(document.getElementById("meinAbsatz"), "")["color"];
dann bekomme ich als Antwort die Farbdefinition für <p>, weil "meinAbsatz" nunmal diese Farbe geerbt hat. Aber ich muß wissen, ob diese Farbe geerbt wurde, oder ob sie für #meinAbsatz extra vergeben wurde. Geht das?
mfG, code-o-mat
Hallo,
Aber ich muß wissen, ob diese Farbe geerbt wurde, oder ob sie für #meinAbsatz extra vergeben wurde.
Wozu willst du das abfragen? Vielleicht gibt es eine andere Lösungsmöglichkeit.
Geht das?
Nein. Du kannst höchstens alle Stylesheets mit JavaScript durchlaufen und nach einer Regel mit dem Selektor #meinAbsatz suchen, dann darin nach einer Deklaration für die Eigenschaft color suchen. Das geht über document.styleSheets, dazu findest du einige Beispiele im Forumsarchiv.
Mathias
Hi,
Wozu willst du das abfragen?
das ist ziemlich kompliziert zu erklären, ist aber nötig ;-)
Du kannst höchstens alle Stylesheets mit JavaScript durchlaufen [...] über document.styleSheets
ja, so habe ich es jetzt gemacht. Ist eigentlich nicht so wahnsinnig kompliziert. Allerdings, eines verstehe ich nicht: wenn ich z.B. diesen Ausdruck nehme:
document.styleSheets[0].cssRules[0].style.parentRule
dann bekomme ich die relevanten Daten in einem wesentlich kleineren Array als ohne .parentRule. Soweit schön. Wenn ich jetzt aber an diesen Ausdruck noch .style anhänge, also:
document.styleSheets[0].cssRules[0].style.parentRule.style
dann bekomme ich wieder das Riesenobjekt von vorher, daran wieder .parentRule angehängt wieder das kleinere usw. Das geht immer im Kreis. Was sagt mir denn parentRule nun genau? Und kommt dieses Thema eigentlich auch mal in SELFHTML rein?
mfG, code-o-mat