datatables动态改变每个表头颜色
时间: 2023-10-24 07:30:32 浏览: 168
要动态改变每个表头的颜色,您可以使用 DataTables 的 `headerCallback` 回调函数来为每个表头设置不同的 CSS 样式。以下是一个示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>DataTable 表头颜色</title>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.25/css/jquery.dataTables.css">
<style>
/* 表头默认颜色 */
th {
background-color: #F8B195;
}
</style>
</head>
<body>
<table id="myTable" class="display">
<thead>
<tr>
<th>Name</th>
<th>Age</th>
<th>City</th>
</tr>
</thead>
<tbody>
<tr>
<td>Bob</td>
<td>30</td>
<td>New York</td>
</tr>
<tr>
<td>Alice</td>
<td>25</td>
<td>Los Angeles</td>
</tr>
<tr>
<td>Charlie</td>
<td>40</td>
<td>Chicago</td>
</tr>
</tbody>
</table>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.datatables.net/1.10.25/js/jquery.dataTables.js"></script>
<script>
$(document).ready(function() {
$('#myTable').DataTable({
headerCallback: function(thead, data, start, end, display) {
// 根据列索引设置不同的颜色
$(thead).find('th').each(function(index) {
if (index == 0) {
$(this).css('background-color', '#F8B195');
} else if (index == 1) {
$(this).css('background-color', '#F67280');
} else if (index == 2) {
$(this).css('background-color', '#C06C84');
}
});
}
});
});
</script>
</body>
</html>
```
在上面的代码中,我们通过 DataTables 的 `headerCallback` 回调函数为每个表头设置了不同的 CSS 样式。在回调函数中,我们可以通过参数获取到表头的 DOM 元素,然后根据列索引设置不同的颜色。在本例中,我们为第一列设置了 `#F8B195` 的颜色,为第二列设置了 `#F67280` 的颜色,为第三列设置了 `#C06C84` 的颜色。您可以根据需要自行修改颜色值和设置逻辑。
阅读全文