2010-06-22 247 views
3

我想改变使用Jquery悬停文本的颜色。我认为我的代码是正确的,但它现在正在工作。这里是我的jQuery代码:JQuery更改文本颜色

$(document).ready(function() { 
    $('#menu li a').hover(function() { 
     $(this).css('color','#ffffff'); 
    }, function() { 
     $(this).css('color', '#97A59E'); 
    }); 
}); 

我的CSS:

#menu li a 
{ 
color:#97A59E !important; 
background-color:#3e4347 !important; 
display: block; 
float: left; 
line-height:2.25em!important; 
text-align:center; 
width:300px; 
} 

和我的网站母版页:

<ul id="menu"> 
    <li><a id="nav-home" href="<%= Url.Action("Index", "Home") %>">Home</a></li> 
    <li><a id="nav-about" href="<%= Url.Action("About","Home") %>">About</a></li> 
    </ul> 

任何想法?谢谢。

+0

任何错误的消息? – helle 2010-06-22 14:35:11

+0

删除您的css定义中的'!important' – jAndy 2010-06-22 14:38:42

回答

2

我不知道是否jQuery是这样做的正确方法..你在CSS

#menu li a { color: #97A59E} 
#menu li a:hover { color: #ffffff} 
+0

这工作!但是,我想再添加一个复杂功能。我希望每个#menu li a都是不同的颜色......? – Lars 2010-06-22 16:06:00

+0

我明白了。谢谢!!! – Lars 2010-06-22 16:10:42

+0

我对你是如何做的感兴趣。颜色是随机的吗? – sjobe 2010-06-22 18:47:04

2

在你的CSS要设置与颜色试过!重要的。这将使其优先于没有!重要的任何事物。再次尝试你的代码,但用颜色后的!重要。即:

$(document).ready(function() { 
    $('#menu li a').hover(function() { 
     $(this).css('color','#ffffff !important'); 
    }, function() { 
     $(this).css('color', '#97A59E !important'); 
    }); 
}); 

我应该补充说,如果您能够使用纯粹的CSS解决方案,Sjobe的答案可能会更好。它仍然很好知道为什么 somethign无论如何不起作用。 :)

2
color:#97A59E !important; 

css定义中移除!important部分

+0

那当然认为它不需要,因为页面的其他部分...... :) – Chris 2010-06-22 14:44:24