2013-07-23 7 views
6

Ich benutze einen Inline-Editor zum Bearbeiten von CSS-Klassen, wenn eine Änderung vorgenommen wird Ich möchte die Klassendefinition entfernen und erneut hinzufügen, auch Benutzer hat Option, um das Element mit ihm zu löschen, also muss ich die Definition löschen.mit jQuery, wie kann ich eine dynamisch hinzugefügte Klasse auf den Kopf einer Seite entfernen

Hinzufügen von Arbeiten mit diesem Code:

$("<style>").prop("type", "text/css").html("#my_element_"+MaxElements+" {"+ xCSSCode +"}").appendTo("head"); 

aber ich kann nicht scheinen, um diese Klasse zu entfernen, die in den Kopf der Seite wie folgt eingefügt:

<style type="text/css">#my_element_1 {border-radius: 12.5px; 
... 
}</style> 
+0

Sind Sie versuchen, den gesamten Stil Block zu entfernen? Oder dieser bestimmte Stil? –

Antwort

10

einen Stil-Tag erstellen :

var style = $("<style />", { 
       id : 'myStyleTag', 
       type: 'text/css', 
       html: "#my_element_"+MaxElements+" {"+ xCSSCode +"}" 
}).appendTo("head"); 

entfernen

style.remove(); 
// or 
$('#myStyleTag').remove(); 
+0

Was ist zu prüfen, ob mehr als 1 dieser Stil bereits im Kopf ist, und die vorherige entfernen? – KeepMove

+1

@SteveWorks - so etwas wie 'if ($ ('style'). Length> 1) ...' – adeneo

2

Ich würde die Elemente in einem Objekt speichern:

var styles = {}; 

... 

styles[some_identifier] = $("<style>", { 
    type: "text/css", 
    html: "#my_element_"+MaxElements+" {"+ xCSSCode +"}" 
}).appendTo("head"); 

Sie können den Style-Tag leicht entfernen:

styles[some_identifier].remove(); 
0
$('#my_element').removeClass('hidden'); 
// also 
$('#my_element').addClass('hidden'); 
Verwandte Themen