用jQuery覆盖a:hover?

我用css定义了一个标签。 我正在尝试停止默认样式表:hover在标签上的更改。 如何在Jquery中禁用a标记上的hover更改?

以下解决方案的现场演示: http : //jsbin.com/umiru

我能想到的最简单的方法是改变:

 a:hover { ... } 

 a.someClass:hover { ... } 

然后通过jQuery的方法添加/删除.someClass

 $(this).addClass("someClass"); // activates css rules for :hover $(this).removeClass("someClass"); // deactivates css rules for :hover 

这是一个没有黑客类的解决方案:

CSS:

 a {color: blue;} a:hover {color: red;} 

jQuery(使用jQueryUI为颜色设置动画):

 $('a').hover( function() { $(this) .css('color','blue') .animate({'color': 'red'}, 400); }, function() { $(this) .animate({'color': 'blue'}, 400); } ); 

演示

最简单的方法是为特定的标记创建新的CSS规则。 就像是

 a.linkclass:hover {color:samecolor} 

如果必须使用JQuery覆盖默认样式,则必须在hover状态下手动添加css规则,如下所示:

 $('a.linkclass').hover(function(){ $(this).css({'color':'samecolor'}); }); 

希望这个帮助

只需在没有“a:hover”的情况下定义CSS

 a { color: #fffff } 

这个CSS将覆盖a:link,a:hover,a:visited和a:active。