Si je définis une valeur CSS sur un élément spécifique en utilisant:
$('#element').css('background-color', '#ccc');
Je veux pouvoir annuler cette valeur spécifique à l'élément et utiliser la valeur en cascade, dans le sens de:
$('#element').css('background-color', null);
Mais cette syntaxe ne semble pas fonctionner - est-ce possible en utilisant une autre syntaxe?
Modifier: la valeur n'est pas héritée de l'élément parent - les valeurs d'origine proviennent d'un sélecteur au niveau de l'élément. Désolé pour toute confusion!
style
attribut sur la balise, donc cette méthode ne fonctionnait pas. L'application du style avec la.css()
méthode plutôt que dans la balise m'a permis de le supprimer plus tard.Je pense que vous pouvez aussi faire:
C'est ce que je faisais il y a longtemps pour la
display
propriété en plain-old-javascript pour afficher / masquer un champ.la source
En fait, la syntaxe que je pensais incorrecte (avec
null
) semble fonctionner - mon sélecteur était juste mal formé et ne donnait donc aucun élément. Oh!la source
css(..., null)
ne fonctionne pas etcss(..., '')
devrait être utilisé à la place - bugs.jquery.com/ticket/7233Essaye ça:
la source
Pour ce que ça vaut, cela semble ne pas fonctionner dans IE 8 pour `` filtre '', j'ai dû utiliser ceci (dans le rappel fadeIn):
$(this).attr('style', $(this).attr('style').replace(/\bfilter:\s*;*/, ''));
De toute évidence, j'avais besoin de supprimer une déclaration de filtre en ligne vide pour que le CSS puisse prendre effet; il y avait d'autres règles en ligne, donc je ne pouvais pas simplement supprimer l'attribut style.
la source
Si cela peut aider, j'ajoute un problème avec un guillemet double:
ne fonctionne pas pendant
travaux
la source