• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Css manipulieren

pumi

New member
Hallo zusammen,

kann mir jemand einen Tipp geben, wie man
- einen vorhandenen Css-Selektor ändern kann
- einen neuen Css-Selektor erstellen kann
und das mit Javascript zur Laufzeit.

Ich meine nicht element.style=..., sondern
direkt der Style.

Danke vorab und Grüße pumi
 
Falls du wissen möchtest, wie man die CSS Klasse an einem Element ändert, so geht das mit element.className = 'name der klasse';.
Und wenn mit dem zweiten Spiegelstrich das dynamische Erzeugen einer Klasse gemeint ist findet sich hier ein Tut: CSS-Stylesheets zur Laufzeit mit Javascript erzeugen | Ajaxschmiede.de

Ansonsten musst du sagen, was du mit "Selector" meinst. Den Begriff verwende ich nur, wenn ich auf Elemente im DOM zugreifen will aber nicht beim Zuweisen oder Erzeugen von CSS.
 
gesucht habe ich eine Möglichkeit die Eigenschaften eines Css-Selektors zu ändern.
Code:
function modifyCssSelector(selector, property, value) {
            
            var dss = document.styleSheets;
            
            for (var c = 0; c < dss.length; c++) {
                try {
                    dss[c].insertRule(selector + ' {' + property + ':' + value + '}', dss[c].cssRules.length);
                } catch (err) {
                    try {
                        dss[c].addRule(selector, property + ':' + value);
                    } catch (err) {}
                }
            }
        }
 
Danke pumi.

@Julian, hattest du nicht auch kürzlich einen Ausschnitt deiner Lib gezeigt, wo es um die Kapselung von CSS Ergänzungen und Löchungen ging? Ich finde den Thread nicht mehr wieder.
 
ist es absicht, das in alle stylehheets einzufügen?
außerdem ist es keine gute idee einfach die exeption abzufangen. besser, du prüfst, ob die funktion existiert
 
Ja, das war es. Wollte nur sagen, dass das hier ähnlich ist. Vielleicht kann man gegenseitig davon profitieren.
 
Ich würde das ja auch nicht in alle Stylesheets einfügen, aber wenn du ihn nur in einen einfügst, musst du zuerst prüfen, ob das Sylesheet überhaupt auch aktiv (.disabled) und schreibbar (.readonly) ist ist.
 
Die Stylesheets, die man mit document.styleSheets bekommt können inaktiv oder schreibgeschützt sein...
 
Zurück
Oben