javascript - 突出显示表行

标签 javascript css

我有一个动态构建的表,它以下面的代码结尾(带有示例值):

<table id="patientTable" class="display" cellspacing="0" width="100%">
    <thead id="TableHeader">
        <tr>
            <th>Value1</th>
            <th>Value2</th>
            <th>Value3</th>
        </tr>
    </thead>
    <tbody id="tableContent">
        <tr class="clickable row_0" onclick="selectPatient(10001);" id="10001" style="background: #FFF;">
            <td class="tableContent">Value1</td>
            <td class="tableContent">Value2</td>
            <td class="tableContent">Value3</td>
        </tr>
    </tbody>
</table>

我正在尝试使用以下 CSS 突出显示悬停的行:

.clickable :hover {
        background-color: #CCC;
    }

出于某种原因,这会更改“<td>”元素的背景,例如,将仅突出显示 Value1、Value2 或 Value3 而不是整行。

我已经尝试(无济于事)使用:

.clickable tr:hover {
    background-color: #CCC;
}
.clickable:hover {
    background-color: #CCC;
}
.tr:hover {
    background-color: #CCC;
}
.tr :hover {
    background-color: #CCC;
}

我发现这种不寻常的行为,因为它似乎对我见过的所有其他示例都适用。

值得一提:该表是从一个复杂的系统构建的,它基本上执行一个 AJAX 请求,该请求执行一个 PHP 数据库查询,获取值,将它们放入 JSON 数组,然后将它们传回到 JS,将数组重新解析为 JSON,循环并创建表,然后将其输出。 JS 会导致问题吗?

类名“.clickable”、“row_#”(其中#是一个数字)和表行的 ID 需要保留,因为它们会在未来的函数中使用,并为我提供一种识别每一行的方法个别地。

最佳答案

一种解决方案是在悬停在父元素 tr 上时将悬停应用于子元素 td:

.clickable:hover td {
  background-color: #CCC;
}
<table id="patientTable" class="display" cellspacing="0" width="100%">
  <thead id="TableHeader">
    <tr>
      <th>Value1</th>
      <th>Value2</th>
      <th>Value3</th>
    </tr>
  </thead>
  <tbody id="tableContent">
    <tr class="clickable row_0" onclick="selectPatient(10001);" id="10001" style="background: #FFF;">
      <td class="tableContent">Value1</td>
      <td class="tableContent">Value2</td>
      <td class="tableContent">Value3</td>
    </tr>
  </tbody>
</table>

关于javascript - 突出显示表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32076083/

相关文章:

Css 样式在全 View 字母界面 Gmail 中不起作用

php - 我怎样才能使用这个 php 空函数来正确显示 CSS?

html - 如何解决输入字段上的错误行高?

javascript - 如何否定 "if"语句 block 中的代码 JavaScript -JQuery like 'if not then..'

php - 动态页面缩略图

javascript - 如何让 javascript 更加流畅?当两件事同时发生时,它似乎会滞后

html - Bootstrap 4 垂直时间轴列不在同一行 [大边距]

html - 如何针对移动网络搜索优化我的 html

javascript - jQuery 将字段数据添加到数组中以显示在 textarea 下

javascript - 将 JSON 图层添加到 Leaflet map