Wenn ich einen CSS-Wert für ein bestimmtes Element mithilfe von:
$('#element').css('background-color', '#ccc');
Ich möchte in der Lage sein, diesen elementspezifischen Wert zu deaktivieren und den kaskadierten Wert zu verwenden, wie folgt:
$('#element').css('background-color', null);
Aber diese Syntax scheint nicht zu funktionieren - ist dies mit einer anderen Syntax möglich?
Bearbeiten: Der Wert wird nicht vom übergeordneten Element geerbt - die ursprünglichen Werte stammen von einem Selektor auf Elementebene. Entschuldigung für die Verwirrung!
style
Attribut auf dem Tag festgelegt, sodass diese Methode nicht funktioniert hat. Durch Anwenden des Stils mit der.css()
Methode anstelle des Tags konnte ich ihn später entfernen.Ich denke, Sie können auch tun:
Das habe ich vor langer Zeit getan, damit die
display
Eigenschaft in einfach-alt-Javascript ein Feld ein- / ausblendet.quelle
Tatsächlich
null
scheint die Syntax, die ich für falsch hielt (mit ), zu funktionieren - mein Selektor wurde nur falsch geformt und ergab somit keine Elemente. D'oh!quelle
css(..., null)
funktioniert nicht undcss(..., '')
sollte stattdessen verwendet werden - bugs.jquery.com/ticket/7233Versuche dies:
quelle
Für das, was es wert ist, scheint dies in IE 8 für 'Filter' nicht zu funktionieren. Ich musste dies verwenden (in fadeIn callback):
$(this).attr('style', $(this).attr('style').replace(/\bfilter:\s*;*/, ''));
Offensichtlich musste ich eine leere Inline-Filterdeklaration entfernen, damit das CSS wirksam werden konnte. Es gab andere Inline-Regeln, sodass ich das Stilattribut nicht einfach entfernen konnte.
quelle
Wenn es helfen kann, füge ich ein Problem mit doppeltem Anführungszeichen hinzu:
funktioniert nicht während
funktioniert
quelle