2 回答
TA贡献1824条经验 获得超8个赞
您可以将每行的所有值存储在一个数组中。然后,存储最小值和最大值,最后如果值匹配,
则为每个值应用颜色。<td>
$("#myPlaneTable tbody tr").each(function () {
var values = [];
var tds = $(this).find('td');
tds.each(function () {
if ($.isNumeric($(this).text())) {
values.push($(this).text());
}
});
var min = Math.min.apply(Math, values);
var max = Math.max.apply(Math, values);
tds.each(function () {
if ($(this).text() == min) {
$(this).css('backgroundColor', 'red');
}
if ($(this).text() == max) {
$(this).css('backgroundColor', 'green');
}
});
});
TA贡献1906条经验 获得超3个赞
您必须循环遍历所有表行和表单元格,将它们放在一个数组中,然后比较数字的最低值和最高值。
我将为您提供 2 个样式解决方案,第一个(更好的选择)通过单独的 css 文件样式,第二个通过内联 jQuery 样式。
这是一个如何解决它的工作示例: https ://jsfiddle.net/efmkr08t/1/
$('#myPlaneTable').find('tr').not(':first').each(function(index, tr) {
var cols = [];
$(tr).find('td').not(':first').each(function(index, td) {
if ($(td).text() === '') {
return;
}
cols[index] = Number($(td).text());
});
var max = Math.max.apply(null, cols);
var min = Math.min.apply(null, cols);
$(tr).find('td').not(':first').each(function(index, td) {
if (Number($(td).text()) === min) {
// the way you should use it (styling is via css)
$(td).addClass('min')
// inline css
// $(td).css('background', 'red');
}
if (Number($(td).text()) === max) {
// the way you should use it (styling is via css)
$(td).addClass('max')
// inline css
// $(td).css('background', 'green');
}
});
});
- 2 回答
- 0 关注
- 110 浏览
添加回答
举报