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

cdl*_*ary 87 css jquery

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

$('#element').css('background-color', '#ccc');
Run Code Online (Sandbox Code Playgroud)

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

$('#element').css('background-color', null);
Run Code Online (Sandbox Code Playgroud)

但是这种语法似乎不起作用 - 这是否可以使用另一种语法?

提前致谢!

编辑:该值不是从父元素继承的 - 原始值来自元素级选择器.对不起任何混乱!

Gle*_*oss 128

来自jQuery文档:

将style属性的值设置为空字符串 - 例如$('#mydiv').css('color', '')- 如果已经直接应用了元素,则从元素中删除该属性,无论是在HTML样式属性中,还是通过jQuery的.css()方法,还是通过对style属性的直接DOM操作.但是,它不会删除样式表或<style>元素中使用CSS规则应用的样式.


Fry*_*Guy 14

我想你也可以这样做:

$('#element').css('background-color', '');
Run Code Online (Sandbox Code Playgroud)

这就是我很久以前display用普通旧javascript来显示/隐藏字段的属性.


cdl*_*ary 5

实际上,我认为不正确的语法(使用null)似乎有效——我的选择器只是格式不正确,因此没有产生任何元素。噢!

  • 从 jquery 1.4.3 开始,`css(..., null)` 不起作用,应该使用 `css(..., '')` 代替 - http://bugs.jquery.com/ticket/ 7233 (23认同)