首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在悬停时更改表行颜色(jQuery或CSS)

在悬停时更改表行颜色(jQuery或CSS)
EN

Stack Overflow用户
提问于 2014-10-28 11:03:14
回答 4查看 7K关注 0票数 3

我的问题是,我已经得到了一些“突出显示”(这意味着他们有自己的背景色来突出显示它们)在我的表中,当我使用代码改变整个行的颜色时,当鼠标悬停在它们上面时,这些单元格不会改变它们的背景色。

对一行进行悬停只会更改没有突出显示的单元格的背景色。

如何修复此问题,使整个行更改背景色?

我有一个HTML表:

代码语言:javascript
复制
$(window).load(function() {
  $('#infotable tr').hover(function() {
    $(this).addClass('hover');
  }, function() {
    $(this).removeClass('hover');
  });
});
代码语言:javascript
复制
#infotable td { 
  padding:0.7em;
  border:#969696 1px solid;
}
.highlight {
  background:#DAFFD6;
}
.hover {
  background:yellow;
}
代码语言:javascript
复制
<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>

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-10-28 11:06:30

您可以单独在CSS中实现这一点。您只需要使:hover规则比td.highlight更具体。试试这个:

代码语言:javascript
复制
#infotable tr:hover td,
#infotable tr:hover td.highlight
{
    background:yellow;
}

例琴

票数 6
EN

Stack Overflow用户

发布于 2014-10-28 11:07:01

仅通过更改javascript将类悬停添加到td中的tr中。

代码语言:javascript
复制
  $('#infotable tr').hover(function()
  {
    $(this).find('td').addClass('hover');
  }, function()
  {
    $(this).find('td').removeClass('hover');
  });

小提琴

票数 1
EN

Stack Overflow用户

发布于 2014-10-28 11:09:47

只需继承悬停样式,检查此小提琴

代码语言:javascript
复制
.hover, .hover .highlight
{
    background:yellow;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26606657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档