我有一张桌子,上面有一些比较和突出显示数据。 并为该表提供良好的jQuery脚本。这是代码: https://jsfiddle.net/bo7145907/ypob2vrx/8/
我需要为下一个要求更改脚本:
<td>
中的值为空,则不应显示文本“ km / h”。现在我有了这段代码<td style="width: 15%">@Model.ElementAt(2).MaxSpeedAt0 km/h</td>
<td>
中具有同等价值,则需要突出显示所有这些内容。例如,在第二行的第一行中,“ 1952”突出显示为绿色,而在第四行中,“ 1952”突出显示为绿色。答案 0 :(得分:1)
尝试一下:
if(!/\d/.test($(cell).text()) && j>0) $(cell).text('')
if ($(cell).text().replace(/\D/g,'') == min) $(this).addClass("min")
if ($(cell).text().replace(/\D/g,'') == max) $(this).addClass("max")
这是现场演示:
$(function () {
function getNum(s) {
var n = false;
if (s.length) {
n = parseInt(s, 10);
}
return n;
}
function getRowData(t) {
var r = [],
n;
$("td", t).each(function (i, el) {
n = getNum($(el).text());
if (i > 0 && n) {
r.push(n);
}
});
return r;
}
$("#PlaneTable tbody tr").each(function (ind, row) {
const values = getRowData($(row)),
min = Math.min(...values),
max = Math.max(...values)
if ($("td", row).eq(0).text() == "Turn time") {
$(row).addClass("low");
} else
if ($("td", row).eq(0).text() == "Take-off weight") {
$(row).addClass("low");
}
else {
$(row).addClass("high");
}
$("td", row).each(function (j, cell) {
if(!/\d/.test($(cell).text()) && j>0) $(cell).text('')
if ($(cell).text().replace(/\D/g,'') == min) $(this).addClass("min")
if ($(cell).text().replace(/\D/g,'') == max) $(this).addClass("max")
});
});
});
.high .min{background-color:pink;color:white;}.high .max{background-color:red;color:white;}.low .min{background-color:lightgreen;color:white;}.low .max{background-color:green;color:white;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><table id="PlaneTable"><tr><td style="width: 20%">First flight</td><td style="width: 15%">1949</td><td style="width: 15%">1952</td><td style="width: 15%">1944</td><td style="width: 15%">1952</td><tr><td style="width: 20%">Max speed</td><td style="width: 15%">989 km/h</td><td style="width: 15%">1104 km/h</td><td style="width: 15%">km/h</td><td style="width: 15%">933 km/h</td></tr><tr><td style="width: 20%">Max speed at 5000 m</td><td style="width: 15%">957 km/h</td><td style="width: 15%">1051 km/h</td><td style="width: 15%">888 km/h</td><td style="width: 15%">910 km/h</td></tr><tr><td style="width: 20%">Climb rate</td><td style="width: 15%">119 m/s</td><td style="width: 15%">131 m/s</td><td style="width: 15%">147 m/s</td><td style="width: 15%">145 m/s</td></tr><tr><td style="width: 20%">Turn time</td><td style="width: 15%">27 s</td><td style="width: 15%">24 s</td><td style="width: 15%">24 s</td><td style="width: 15%">26 s</td></tr></table>