更改<a> when hover over </a>的链接颜色

时间:2012-07-05 19:43:08

标签: jquery html css

当我将鼠标悬停在<tr>上时,<a>元素的颜色应更改为白色。

我尝试使用类似的jQuery:

<script>
    $('tr').hover(function(){
        $('a').css('color','white');
    });
</script>

但这会更改所有<tr>的文字颜色。 有什么想法吗?

html & css code:

4 个答案:

答案 0 :(得分:9)

将此行添加到CSS文件中并忘记jQuery:

tr:hover a { color: white; }

如果你迫切希望你的jQuery代码能够工作,那么你需要只针对悬停行中的锚点:

$('tr').hover(function(){
   $('a', this).css('color','white');
 });

答案 1 :(得分:3)

有一些方法可以做。 .hover方法可以有两个功能(移动鼠标移动,移出鼠标),你可以实现两者来改变颜色,样本:

1 - 通过javascript(jquery)

$(document).ready(function(){
  $('tr').hover(
    function(){
      var $this = $(this);
      $this.css('background-color', '#fff');
    },
    function(){
      var $this = $(this);
      // original color -> $this.css('background-color', $this.data('bgcolor'));
      $this.css('background-color', '#000');
    }
  );    
});

您可以使用.data('bgcolor')来获取样式attritbute或标签上设置的原始css设置的颜色。

2)或者只是添加一个css

.row {
   background-color: #000;
}

.row : hover {
   background-color: #fff;
}

并将其设置在行

<tr class='row'>
...
</tr>

答案 2 :(得分:0)

我不知道如果它与你的情况有关,我正在制作一个主要颜色的网站,其次是白色。每次刷新颜色都是随机的,所以我需要悬停元素来改变颜色。所以我最终得到了:

#menu-buttons>li{ color:#fff; }
#menu-buttons>li:hover { color: inherit; }

然后我只是将随机颜色分配给父元素:

$('#menu-buttons').css('color',mainColor);

答案 3 :(得分:0)

我遇到了类似的问题;发现这个解决方案是有效的。

     div.cntrblk tr:hover td a {
       color:rgb(0,0,255);
     }