如何使用jQuery取消元素的CSS属性?

如果我使用以下方法在特定元素上设置CSS值:

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

我希望能够取消设置特定于元素的值并使用级联值,如下所示:

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

但是,这种语法似乎不工作 – 这是可能的使用另一种语法?

提前致谢!

编辑:值不是从父元素inheritance – 原始值来自元素级select器。 对不起,有什么困惑!

从jQuery文档 :

将样式属性的值设置为一个空string – 例如$('#mydiv').css('color', '') – 如果元素已经被直接应用,属性,通过jQuery的.css()方法,或者通过对style属性的直接DOM操作。 但是,它不会删除样式表或<style>元素中已应用CSS规则的样式。

我想你也可以这样做:

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

这就是我很久以前用plain-old-javascript的display属性来显示/隐藏一个字段的情况。

实际上,我认为是不正确的(使用null )的语法似乎正在工作 – 我的select器只是不正确的形成,从而没有任何元素。 D'哦!

尝试这个:

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

对于什么是值得的这似乎不工作在IE 8的“filter”,我不得不使用这个(在淡入callback):

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

显然,我需要删除一个空的内联filter声明,以便CSS生效; 还有其他的内联规则,所以我不能删除样式属性。