Hallo Forum,
ich bin ein Anfänger im Bereich JavaScript, aber ich bin stolz darauf, dass ich dafür schon recht gutes Verständnis dafür aufbringen kann. Nun bin ich aber auf ein Problem gestossen, bei dem ich nicht weiterkomme:
Ich will CSS-Tags vom Seitenanfang auslesen, manipulieren und anschliessend wieder zurückschreiben. Das klappt eigentlich alles recht gut, auch Pseudoklassen kann ich damit verändern. Das Problem taucht dann auf, wenn ich eine Liste mit Selektoren habe.
z.B.: h1,h2,p {color: #000000;}
bisher lese ich die CSS in einer Schleife mit folgendem Schema aus:
wenn IE, dann rules = docstyle.rules
sonst rules = docstyle.cssRules
for (k=0;k<rules.length;k++){
cssToLower = rules.item(k).selectorText.toLowerCase()
if (cssToLower == neuerTag)
{
rules.item(k).style.color = document.getElementById("bg_modul").value;
}
}
Das ist nur mal ein Schema, ich wollte nicht jede Kleinigkeit posten.
Jedenfalls funktioniert das ganze, egal welchen Browser ich benutze. Das Problem bekomme ich ich nur bei solchen Sachen wie h1,h2,p
Der InternetExplorer erkennt beim durchlaufen der Schleife statt h1,h2,p 3 einzelne Selektoren statt einem zusammengefassten, und Firefox erkennt den Selektor gar nicht.
Kann mir bitte jemand einen Tip geben, wie ich in beiden Browsern die 3 Werte verändern kann? Also: wie kann ich mit beiden Browsern den Selektor h1,h2,p auslesen?
Die Variante, die mir IE anbietet wäre zur Not ja auch brauchbar für mich, aber bleibt das Problem mit Firefox/Mozilla, welche diesen speziellen Selektor gar nicht erkennen.
Bitte bitte helft mir schnell, denn dieses Problem hält mich davon ab, mein Projekt zu beenden.
mfg
heinerle
PS: schlagt mir bitte nicht vor, einfach diesen Selektor zu trennen und 3 neue daraus zu machen, diese Möglichkeit geht aus programmtechnischen Gründen nicht (DB und abhängige Folgescripte)