使用jquery在悬停时向表行添加背景颜色和边框

时间:2009-03-27 01:47:48

标签: jquery css

当鼠标悬停在行上时,是否有人知道如何为具有不同背景颜色的表格行添加边框?

我已经能够用这个改变行的背景颜色:

$(document).ready(function() {
   $(function() {
        $('.actionRow').hover(function() {
            $(this).css('background-color', '#FFFF99');
        },
        function() {
            $(this).css('background-color', '#FFFFFF');
        });
    });
});

但我无法添加边框颜色。我意识到边框不能直接应用于表格行标签,但我希望有人知道一些jQuery伏都教魔法可以找到所选行中的表格单元格并将一些样式应用于那些创建边框。

谢谢!

4 个答案:

答案 0 :(得分:31)

   $(function() {
        $('tr').hover(function() {
            $(this).css('background-color', '#FFFF99');
            $(this).contents('td').css({'border': '1px solid red', 'border-left': 'none', 'border-right': 'none'});
            $(this).contents('td:first').css('border-left', '1px solid red');
            $(this).contents('td:last').css('border-right', '1px solid red');
        },
        function() {
            $(this).css('background-color', '#FFFFFF');
            $(this).contents('td').css('border', 'none');
        });
    });

答案 1 :(得分:4)

你最好的选择是在行上添加class和removeClass。 然后在你的样式表中:

.actionRow-hovered td { border-color: whatever; }

所以你实际上会操纵每个td边框颜色。 这是一种痛苦,但是当你掌握它的时候它会运作得很好。

答案 2 :(得分:1)

$('table.tblMenuTabls tr').hover(function(){
        $(this).toggleClass('tblOverRow');
        },function(){
            $(this).toggleClass('tblOverRow')}
    ).css({cursor: 'hand'});

其中tblMenuTabls是表类名,tblOverRow是带有悬停定义的CSS类。

答案 3 :(得分:0)