这里有一个fiddle描述的情况
我有有悬停带有边框亮细胞的表:如何使用jQuery禁用CSS规则?
table td:hover {
border: 2px solid #3d8b40;
}
当按下其中的一个,我想让它有一个永久边界如上所述,当它处于活动状态(直到下一次单击)时,我想禁用其他单元格上的光照。
这个问题似乎有一个简单的解决方案给所有细胞的一类,以防止激活过程中的边界:
.no-border:not(.active):hover {
border: inherit !important;
}
但是有很多细胞的,我怕切换这么多班一旦可能影响性能。
后来我也尝试过这种做法:
$('td').click(function() {
if ($(this).hasClass('active')) {
$('table td:hover').css('border', 'inherit');
}
else {
$('table td:hover').css('border', '2px solid #3d8b40');
}
}
它的问题是,:hover
选择只管一个细胞 - 我是在指向一个,我无法弄清楚如何将这些规则传到他们全部。这基本上意味着将内联样式添加到HTML元素,这在考虑性能时并不比添加类更好。
我该如何解决我的问题?
一类可能添加到容器元素,而不是对每一个细胞? – gyre
用内联css覆盖它重要的是一个选项? '$('table td')。attr('style',':hover {“border”:“inherit!important”}')' – TypedSource