悬停时更改表格行的颜色(jQuery或CSS)
Change table row color on hover (jQuery or CSS)
我的问题是,我的表中已经有一些"高亮显示"的单元格(意味着它们有自己的背景色来高亮显示),当我使用代码在鼠标悬停时更改整行的颜色时,这些单元格不会更改其背景色。
覆盖一行只会更改未高亮显示的单元格的背景色。
如何修复此问题,使整行更改背景色?
我有这个HTML表格:
$(window).load(function() {
$('#infotable tr').hover(function() {
$(this).addClass('hover');
}, function() {
$(this).removeClass('hover');
});
});
#infotable td {
padding:0.7em;
border:#969696 1px solid;
}
.highlight {
background:#DAFFD6;
}
.hover {
background:yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<table>
<thead>
<tr>
<th></th>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
</tr>
</thead>
<tbody id="infotable">
<tr>
<td>Row #1</td>
<td>889 kg</td>
<td class="highlight">151 kg</td>
<td>192 kg</td>
</tr>
<tr>
<td>Row #2</td>
<td>784 kg</td>
<td>15 kg</td>
<td class="highlight">64 kg</td>
</tr>
</tbody>
</table>
您可以单独在CSS中实现这一点。您只需要使:hover
规则比td.highlight
规则更具体。试试这个:
#infotable tr:hover td,
#infotable tr:hover td.highlight
{
background:yellow;
}
小提琴示例
只需更改javascript,即可将类悬停添加到所有td
而不是tr
。
$('#infotable tr').hover(function()
{
$(this).find('td').addClass('hover');
}, function()
{
$(this).find('td').removeClass('hover');
});
FIDDLE
只需继承悬停检查此Fiddle 的样式
.hover, .hover .highlight
{
background:yellow;
}
在css 中尝试此操作
#infotable tr td:hover
{
background:yellow;
}
相关文章:
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- 自定义Jquery css下拉菜单问题
- jQuery css可见性在load方法中不起作用
- PNG图像被覆盖,但每个图像都有一个链接可以更改,每次一个-Javascript/jQuery/CSS
- Jquery CSS背景图像旋转
- 使用jQuery.css()方法时,是否需要转义任何字符
- 将jQuery.css()与变量一起使用
- 如何在jQuery.CSS()方法中为所有浏览器编写CSS代码
- 使用 js/jQuery/css 在重力形式中覆盖 !important
- 投资组合扩展器宽度 - Jquery CSS
- jQuery .css body opacity
- 当到达屏幕顶部时,jquery/css转换
- 如何防止文本区域在打字和进入页面底部时跳舞?:JQuery/CSS
- 在没有特定属性的情况下使用jQuery.css()
- 如何在HTML+jQuery+CSS中显示弹出窗口
- jQuery css"点击“;不会'更改日历中选定的月份后无法工作
- jQuery .css() 返回像素而不是百分比
- jquery css没有'我的情况不太好
- Jquery/CSS:全尺寸背景图像
- jquery.css()中的变量