Jquery 在鼠标上方添加边框

Jquery 在鼠标上方添加边框,jquery,hover,onmouseover,Jquery,Hover,Onmouseover,我希望有一个可以使用css设置的表格边框,而不是将inline border=属性设置为border:1px纯黑;当我把鼠标滑过桌子时 如何在jQuery中实现这一点。我认为这与页面顶部的按钮、问题、标签、用户等的情况相同,只是一个div的背景颜色发生了变化,而我想改变一个表的边框。但概念是一样的 在上查看这篇文章 对于悬停效果,jQuery提供了悬停伪事件,其性能优于moueCenter/mouseleave。另外,最好为每个正常状态和悬停状态创建一个CSS类,然后在悬停状态下更改该类: $(

我希望有一个可以使用css设置的表格边框,而不是将inline border=属性设置为border:1px纯黑;当我把鼠标滑过桌子时


如何在jQuery中实现这一点。我认为这与页面顶部的按钮、问题、标签、用户等的情况相同,只是一个div的背景颜色发生了变化,而我想改变一个表的边框。但概念是一样的

在上查看这篇文章


对于悬停效果,jQuery提供了悬停伪事件,其性能优于moueCenter/mouseleave。另外,最好为每个正常状态和悬停状态创建一个CSS类,然后在悬停状态下更改该类:

$(document).ready(function() {
    $("#tableid").hover(
        function() { $(this).addClass("Hover"); },
        function() { $(this).removeClass("Hover"); }
    );
});
您的CSS可能如下所示:

table.Hover { border: 1px solid #000; }

最好在表上交换类,而不是直接编辑CSS属性-这将是一个更具可伸缩性/可扩展性的解决方案:

table {
   border:0;
}

table.border {
   border:1px solid #000;
}
当然,当添加边框时,您的表格将在1px位置“跳转”,因此在不悬停时,最好使用边距或白色边框:

table {
   border:1px solid #fff;
}

table.border {
   border:1px solid #000;
}
或者最好的情况是,如果您不需要遵守IE6,您可以使用纯CSS来完成这一切:

table {
   border:1px solid #fff;
}

table:hover {
   border:1px solid #000;
}

这将是最好/最简单/可扩展的方法

或者,与边框相反的轮廓不会在元素布局中占用额外的空间。

我知道这是个愚蠢的问题,但这是否介于标记之间。选择器的过度使用。在一大组dom节点上性能较慢。我会缓存这个,因为您只选择一个表。无需在jQuery对象中重新打包该表两次。而且我会使用mouseover/mouseout事件,而不是hover函数。更详细一点,我发现hover函数有时有点古怪;mouseoverfunction{};.mouseoutfunction{}。。。是 啊你可以把老鼠拴起来。但我喜欢长篇大论:@roosteronacid:根据jQuery的说法,hover事件应该可以解决mouseenter/mouseleave的很多问题。关于缓存:在本例中,它只是一个表,但它只是一个示例。在现实生活中,您可能会选择多个表,因此缓存这不是一个选项Corry roosteronacid,我是一个非常新的人,我想知道这是什么vardoing@activa:可能他们已经修复了我遇到的延迟事件触发和多个链接事件的问题。。我已经有一段时间没用悬停了。就缓存而言;你说得对。我想我把评论这样的事情看作是一种使命。我看到很多人不负责任地使用jQuery。据我所知;你不是他们中的一员:
table {
   border:1px solid #fff;
}

table:hover {
   border:1px solid #000;
}