2011-01-01 5 views
0

Was ich tun möchte, so etwas wie dieses.Anfahrt & global .class- Ebene CSS-Werte in JQuery gesetzt

den globalen CSS-Wert für eine Klasse übernehmen. Dabei verweist .myclass auf die tatsächliche statische Klasse und nicht auf eine Instanz, die die Klasse implementiert.

var currentmargin = $('.myclass').css('margin'); 

anzuzeigen Dann globalen Klasse CSS-Wert für Benutzer zu ändern und dann die Änderungen

$('.myclass').css('margin',newValue); 

von einem css wie unten

.myclass { 
    margin:10px; 
} 

Gibt es einen richtigen Weg, dies zu tun in JQuery, dass ich vermisse oder muss ich Dinge mit einem Plugin wie http://plugins.jquery.com/project/changecss erweitern, um die Arbeit zu erledigen?

Vielen Dank im Voraus.

Antwort

0

Ich glaube, Sie die Verwendung von Jquery Selektoren verwirrend. Die folgende:

var currentmargin = $('.myclass').css('margin'); 

Mittelwert: wählen Sie alle Elemente in HTML-Dokument, das mit Klasse markiert den Namen „myclass“ und lesen dann aus Attribut ‚style‘ Wert der CSS-Eigenschaft „margin“. Und ich fürchte, es gibt keine Möglichkeit, clientseitige JS zu verwenden, um die globale Definition für den CSS-Eigenschaftswert zu lesen, es sei denn, Sie haben ein Element auf der Seite, das mit dieser Klasse markiert ist.

Also der Grund, warum immer undefiniert wurde ist, weil Sie kein Element mit der Klasse "myclass" markiert haben.

+0

Danke für das Feedback, modifizierte ich meine Frage etwas am Kern der Sache zu bekommen. –

0

jQuery selbst hilft in keiner Weise hier, alles, was Sie tun wollen Zentren rund um document.styleSheets, eine grundlegende DOM-Sammlung, eine jQuery bietet keine Wrapper, etc. herum. Die plugin you linked ist ein guter Ansatz (da es die leichten ist), oder einfach nur eine Schleife durch die Sammlungen in document.styleSheets wie es funktioniert.

+0

Danke, also nichts in JQuery direkt, das muss ich wissen. Ich denke, ich könnte das Plugin so erweitern, dass es sowohl das Abrufen als auch das Setzen unterstützt. –