Frage Wie deaktiviere ich das CSS-Attribut eines Elements mit jQuery?


Wenn ich einen CSS-Wert für ein bestimmtes Element unter Verwendung von festlegen:

$('#element').css('background-color', '#ccc');

Ich möchte in der Lage sein, diesen elementspezifischen Wert zu deaktivieren und den kaskadierten Wert wie folgt zu verwenden:

$('#element').css('background-color', null);

Aber diese Syntax scheint nicht zu funktionieren - ist das mit einer anderen Syntax möglich?

Danke im Voraus!

Bearbeiten: Der Wert wird nicht vom übergeordneten Element geerbt. Die ursprünglichen Werte stammen aus einem Selektor auf Elementebene. Entschuldigung für jede Verwirrung!


76
2018-01-29 08:41


Ursprung


Antworten:


Von dem jQuery-Dokumente:

Festlegen des Werts einer Stileigenschaft auf eine leere Zeichenfolge - z. $('#mydiv').css('color', '') - entfernt diese Eigenschaft von einem Element, wenn es bereits direkt angewendet wurde, egal ob im HTML-Stil-Attribut, über jQuery's .css() Methode oder durch direkte DOM Manipulation der style Eigentum. Es wird jedoch kein Stil entfernt, der mit einer CSS-Regel in einem Stylesheet angewendet wurde <style> Element.


109
2018-02-24 00:54



Ich denke du kannst auch:

$('#element').css('background-color', '');

Das ist, was ich vor langer Zeit für die display Eigenschaft in plain-old-javascript, um ein Feld anzuzeigen / auszublenden.


11
2018-01-29 09:27



Eigentlich dachte ich, die Syntax sei falsch (mit null) scheint zu funktionieren - mein Selektor war nur ungenau geformt und ergab keine Elemente. Oh!


4
2018-01-29 09:18



Versuche dies:

$('#element').css('background-color', 'inherit');

3
2018-01-29 08:51



Für was es wert ist, scheint dies nicht in IE 8 für "Filter" zu arbeiten, ich musste dies (in fadeIn Callback) verwenden:

$(this).attr('style', $(this).attr('style').replace(/\bfilter:\s*;*/, ''));

Offensichtlich musste ich eine leere Inline-Filter-Deklaration entfernen, damit das CSS wirksam wird. Es gab andere Inline-Regeln, so dass ich das style-Attribut nicht einfach entfernen konnte.


0
2017-11-05 15:59