覆盖a:用jQuery悬停?

时间:2010-01-13 01:05:40

标签: jquery

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

4 个答案:

答案 0 :(得分:12)

以下解决方案的现场演示: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

答案 1 :(得分:6)

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

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);
  }
);

demo

答案 2 :(得分:2)

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

这样的东西
a.linkclass:hover {color:samecolor}

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

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

希望这个帮助

答案 3 :(得分:0)

只需在没有“a:hover”

的情况下定义CSS
a { color: #fffff }

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