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

标签 javascript jquery asp.net-core

我有一个包含一些比较和突出显示数据的表格。 并为表格提供良好的 jQuery 脚本。这是代码: https://jsfiddle.net/bo7145907/ypob2vrx/8/

我需要更改我的脚本以满足下一个要求:

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

最佳答案

试试这个:

  • 对于数字 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>

关于javascript - 突出显示最小/最大值表jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60782430/

相关文章:

c# - 跨 ASP.NET Core Controller 共享变量和首次初始化

javascript - Google Feed API 导致页面空白

javascript - 使用 JS window.print() 中断 chrome 中的后退按钮

javascript - 如何根据浏览器缩放自动调整数据表

ajax - POST 请求后 jQuery AJAX 和 WCF 异常失败

javascript - 如何在简单的 jquery 幻灯片代码中添加上一个和下一个按钮

c# - 全局应用 IgnoreAntiforgeryTokenAttribute 不会禁用 ValidateAntiForgeryToken

json - .NET Core 中的强类型配置忽略 JsonProperty 属性

javascript - 修复了在 IE 中定位广告的问题

javascript - jQuery .css() 函数不返回预期值