如何解决将css属性添加到jquery元素具有不同的结果-类vs. css方法
|| 对于我的网站,我将导航菜单的选定名称保存在cookie中,回发后,我读取了cookie,然后将背景图像应用于所选菜单项(使用我用于悬停的同一图像)。 我为“选择的”菜单项创建了一个类:.selected
{
color: Green;
height: 40px;
background: url(images/menu_hover.jpg) bottom no-repeat;
}
回发后检查Cookie时,我想应用此类:
$(\"#\" + $.cookie(cookieName)).addClass(\"selected\");
似乎它仅应用背景图像,而不应用颜色或高度。为了使颜色和高度完全起作用,我必须使用.css()方法显式设置它们:
$(\"#\" + $.cookie(cookieName)).css({ \'color\': \"green\" });
$(\"#\" + $.cookie(cookieName)).css({ \'height\': \"40px\" });
只是好奇是否有人知道为什么会这样?
解决方法
在我看来,这似乎是CSS的特异性问题-您可能在其他地方用更具体的选择器定义了
color
和height
。
,可能其他CSS选择器也与您的元素匹配并且它们具有更高的优先级吗?
您可以在此处找到更多信息:CSS:了解选择器的优先级/特异性
,使用诸如Web Developer工具栏或Firefox中的DOM Inspector之类的工具来确定实际影响样式的因素。
,听起来好像您想在该页面上使用特定链接上的类,因此可以在主体上使用一个类,如下所示:
<body class=\"home\">
在您的CSS中:
.home a.homeLink:link{
...
}
这样就完全不需要JS了。
在这里做一个例子:
http://jsfiddle.net/NbVVr/
不确定这是否是您想要的吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。