-2

我有一个功能,我在点击事件上设置背景。我尝试了两种方法,希望两者都能工作,但只有 .css() 版本有效,为什么 addClass 不能工作?

function foo(e){ $("#" + e).css('backgroundColor', '#444444');}

function bar(e){$("#" + e.id).addClass('clickColor');}

clickColor 的 css 是

.clickColor{
    backgroundColor: #444444;
}
4

3 回答 3

1

检查https://developer.mozilla.org/en-US/docs/Web/CSS/background-color

.clickColor {
    background-color:#444444;
}

它应该是背景颜色而不是背景颜色

值得注意的是,jQuery 在用作属性时需要 css 属性的驼峰式大小写,但如果指定为字符串,则需要使用“background-color”

^ 根据http://api.jquery.com/css/更正

于 2013-08-29T16:46:31.553 回答
0

在css中,它不是“背景色”吗?在您的情况下,您的函数包含一个错误,事实上,如果您在 jquery 选择器中发现 e 的值没有引号,它将不起作用。

这里:http: //jsfiddle.net/zPDpC/2/

$('#'+e+'').css('background-color', '#444444');
于 2013-08-29T17:10:48.957 回答
0

Css 更喜欢内联样式而不是类应用样式。应用内联.css()样式,因此它最有可能覆盖所有其他规则。addClass()添加了一个优先级较低的类。

于 2013-08-29T16:49:41.150 回答