首页 > 解决方案 > 在第一行有行跨度的情况下,在表格的第一行设置 css 样式

问题描述

我有很多表,想在第一行有行跨度的情况下在表的第一行设置 css 样式。

<table>
<tbody>
<tr>
<td rowspan="2" width="110">Name</td>
<td width="110">Size</td>
<td width="110">Status</td>
</tr>
<tr>
<td>Meter</td>
<td>true/false</td>
</tr>
<tr>
<td>Code A</td>
<td>1</td>
<td>false</td>
</tr>
</tbody>
</table>

使用这种样式,我尝试更改第一行:

thead tr:first-child,
tbody tr:first-child {
  background-color: #1DA6C0;color: #fff;
}

所以我正在寻找一种 css 样式来更改表格,就像 Image 一样: 在此处输入图像描述

标签: csshtml-table

解决方案


您可以使用以下方法在 Javascript 后台设置它:

nth-child(-n+${rowspan})

例如。

let tr = document.getElementsByTagName("tr")[0];
let td = tr.getElementsByTagName("td")[0];
let rowspan = td.rowSpan? td.rowSpan:1; 
var nodes = document.querySelectorAll(`tbody tr:nth-child(-n+${rowspan})`);
for (let i = 0; i < nodes.length; i++) {
  nodes[i].style.background = '#1DA6C0';
}

https://jsfiddle.net/xugL8s9b/10/


推荐阅读