突出显示最小值/最大值表jquery

时间:2020-03-20 22:33:23

标签: javascript jquery asp.net-core

我有一张桌子,上面有一些比较和突出显示数据。 并为该表提供良好的jQuery脚本。这是代码: https://jsfiddle.net/bo7145907/ypob2vrx/8/

我需要为下一个要求更改脚本:

  1. 如果<td>中的值为空,则不应显示文本“ km / h”。现在我有了这段代码
    <td style="width: 15%">@Model.ElementAt(2).MaxSpeedAt0 km/h</td>
  2. 如果我在某些<td>中具有同等价值,则需要突出显示所有这些内容。例如,在第二行的第一行中,“ 1952”突出显示为绿色,而在第四行中,“ 1952”突出显示为绿色。

1 个答案:

答案 0 :(得分:1)

尝试一下:

  • 第1个
if(!/\d/.test($(cell).text()) && j>0) $(cell).text('')
  • 第2个
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>

相关问题