将css属性添加到jquery元素具有不同的结果 - 类与css()方法

pro*_*ock 3 css jquery

对于我的网站,我将导航菜单的选定名称保存在cookie中,并在回发后我读取cookie,然后将背景图像应用于所选菜单项(使用我用于悬停的相同图像).

我为我的"选定"菜单项做了一个课程:

.selected
 {
color: Green;
height: 40px;
background: url(images/menu_hover.jpg) bottom no-repeat; 
 }
Run Code Online (Sandbox Code Playgroud)

当我在回发后检查cookie时,我想申请这个类:

$("#" + $.cookie(cookieName)).addClass("selected");
Run Code Online (Sandbox Code Playgroud)

它似乎只应用背景图像,而不是颜色或高度.为了使颜色和高度完全起作用,我必须使用.css()方法显式设置它们:

$("#" + $.cookie(cookieName)).css({ 'color': "green" });
$("#" + $.cookie(cookieName)).css({ 'height': "40px" });
Run Code Online (Sandbox Code Playgroud)

只是好奇,如果有人知道为什么会发生这种情况?

new*_*ron 5

这听起来好像是一个CSS具体问题-你可能有color,并height有一个更具体的选择别处定义.