我有一个函数,我在click事件上设置背景。 我尝试了两种方法,期望两种方式都可以工作,但只有.css()版本有效,为什么addClass不工作?
function foo(e){ $("#" + e).css('backgroundColor', '#444444');}
function bar(e){$("#" + e.id).addClass('clickColor');}
和clickColor的css是
.clickColor{
backgroundColor: #444444;
}
答案 0 :(得分:1)
检查https://developer.mozilla.org/en-US/docs/Web/CSS/background-color
.clickColor {
background-color:#444444;
}
它应该是 background-color 而不是 backgroundColor
值得注意的是,jQuery在用作属性时需要使用css属性的camel大小写,但如果指定为字符串,则需要使用&#34; background-color&#34; < / strike>
^根据http://api.jquery.com/css/进行更正
答案 1 :(得分:0)
Css更喜欢内联样式来应用类的样式。 .css()
应用内联样式,因此最有可能覆盖其他所有规则。 addClass()
添加了一个偏好较小的类。
答案 2 :(得分:0)
在CSS中,它不是“背景颜色”吗? 在您的情况下,您的函数包含一个错误,实际上如果您在没有引号的jquery选择器中发现e的值,它将无效。
此处:http://jsfiddle.net/zPDpC/2/
$('#'+e+'').css('background-color', '#444444');