93 如果我使用以下命令在特定元素上设置CSS值: $('#element').css('background-color', '#ccc'); 我希望能够取消设置特定于元素的值并使用级联值,具体如下: $('#element').css('background-color', null); 但是该语法似乎不起作用–是否可以使用其他语法? 编辑:该值不是从父元素继承的-原始值来自元素级选择器。抱歉给您带来任何混乱! jquery css — dle source
140 从jQuery文档: 将样式属性的值设置为空字符串(例如$('#mydiv').css('color', '')),如果该属性已被直接应用(无论是在HTML样式属性中,通过jQuery的.css()方法还是通过对该style属性的直接DOM操作),则将从该元素中删除该属性。但是,它不会删除样式表或<style>元素中已应用CSS规则的样式。 — 格伦·莫斯 source 当我遇到这个问题时,我遇到了这个问题。在我的情况下,我style在标签的属性中设置了css属性,因此该方法不起作用。将样式与.css()方法一起应用,而不是在标签中应用,这样我以后就可以将其删除。 — Glenn Moss
14 我认为您也可以: $('#element').css('background-color', ''); 这就是我很久以前display在平原旧javascript中显示/隐藏字段的属性。 — 弗雷吉 source
4 实际上,我认为不正确的语法(带有null)似乎可以正常工作-我的选择器的格式不正确,因此没有任何元素。天哪! — dle source 21 从jquery 1.4.3开始css(..., null)不起作用,css(..., '')应该改用-bugs.jquery.com/ticket/7233 — Tim Sylvester
3 试试这个: $('#element').css('background-color', 'inherit'); — 赫克托麦克 source 1 不幸的是,继承不是我要寻找的行为:w3.org/TR/CSS2/cascade.html — cdleary 比“继承”更可能是“初始”。“继承”来自父代,“初始”遵循单词的含义。 — 克里斯·S
0 值得的是,这似乎无法在IE 8中使用“过滤器”,我不得不使用它(在fadeIn回调中): $(this).attr('style', $(this).attr('style').replace(/\bfilter:\s*;*/, '')); 显然,我需要删除一个空的内联过滤器声明,以便CSS可以生效;还有其他内联规则,因此我不能只删除style属性。 — 布兰登·希尔 source
-1 如果有帮助,我会在双引号中添加一个问题: $('#element').css("border-color", ""); 一会儿不起作用 $('#element').css('border-color', ''); 作品 — 梅林汀 source
style
在标签的属性中设置了css属性,因此该方法不起作用。将样式与.css()
方法一起应用,而不是在标签中应用,这样我以后就可以将其删除。