Se eu definir um valor CSS em um elemento específico usando:
$('#element').css('background-color', '#ccc');
Eu quero ser capaz de remover esse valor específico do elemento e usar o valor em cascata, ao longo das linhas de:
$('#element').css('background-color', null);
Mas essa sintaxe parece não funcionar - isso é possível usando outra sintaxe?
Editar: o valor não é herdado do elemento pai - os valores originais vêm de um seletor de nível de elemento. Desculpem qualquer confusão!
style
atributo da tag, então esse método não funcionou. Aplicar o estilo com o.css()
método em vez de na tag me permitiu removê-lo mais tarde.Acho que você também pode fazer:
Isso é o que eu costumava fazer há muito tempo para a
display
propriedade em plain-old-javascript para mostrar / ocultar um campo.fonte
Na verdade, a sintaxe que pensei estar incorreta (com
null
) parece estar funcionando - meu seletor foi apenas formado incorretamente e, portanto, não produzindo elementos. D'oh!fonte
css(..., null)
não funciona ecss(..., '')
deve ser usado em seu lugar - bugs.jquery.com/ticket/7233Experimente isto:
fonte
Pelo que vale, isso parece não funcionar no IE 8 para 'filtro', eu tive que usar isso (no retorno de chamada fadeIn):
$(this).attr('style', $(this).attr('style').replace(/\bfilter:\s*;*/, ''));
Obviamente, eu precisei remover uma declaração de filtro in-line vazia para que o CSS pudesse ter efeito; havia outras regras embutidas, então não pude simplesmente remover o atributo de estilo.
fonte
Se puder ajudar, adiciono um problema com aspas duplas:
não funciona enquanto
trabalho
fonte