Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 标记HTML表中的最高值和最低值_Javascript_Jquery_Html - Fatal编程技术网

Javascript 标记HTML表中的最高值和最低值

Javascript 标记HTML表中的最高值和最低值,javascript,jquery,html,Javascript,Jquery,Html,我有一个HTML表,我想通过向每列的最高值和最低值添加一个类来标记单元格。我在这里发现了一些相关的问题,但是代码表现不好 var $table = $("#mytable"); $table.find("th").each(function(columnIndex) { var oldValue=0, currentValue=0, $elementToMark; var $trs = $table.find("tr"); $trs.each(function(index

我有一个HTML表,我想通过向每列的最高值和最低值添加一个类来标记单元格。我在这里发现了一些相关的问题,但是代码表现不好

var $table = $("#mytable");
$table.find("th").each(function(columnIndex)
{
    var oldValue=0, currentValue=0, $elementToMark;
    var $trs = $table.find("tr");
    $trs.each(function(index, element)
    {
        oldValue= currentValue;
        var $td = $(this).find("td:eq("+ columnIndex +")");
        if ($td.length!=0) 
        {
            currentValue= parseFloat($td.html());
            if(currentValue > oldValue)
            {
                $elementToMark= $td;
            }
            if(index == $trs.length-1)
            {
              $elementToMark.addClass("highest"); 
            }
        }
        });
});


var $table = $("#mytable");
$table.find("th").each(function(columnIndex)
{
    var oldValue=1000000, currentValue=1000000, $elementToMark;
    var $trs = $table.find("tr");
    $trs.each(function(index, element)
    {
        oldValue= currentValue;
        var $td = $(this).find("td:eq("+ columnIndex +")");
        if ($td.length!=0) 
        {
            currentValue= parseFloat($td.html());
            if(currentValue < oldValue)
            {
                $elementToMark= $td;
            }
            if(index == $trs.length-1)
            {
              $elementToMark.addClass("lowest"); 
            }
        }
        });
});
var$table=$(“#mytable”);
$table.find(“th”)。每个函数(columnIndex)
{
var oldValue=0,currentValue=0,$elementToMark;
var$trs=$table.find(“tr”);
$trs.每个(功能(索引、元素)
{
oldValue=当前值;
var$td=$(this).find(“td:eq(“+columnIndex+”));
如果($td.length!=0)
{
currentValue=parseFloat($td.html());
如果(当前值>旧值)
{
$elementToMark=$td;
}
如果(索引==$trs.length-1)
{
$elementToMark.addClass(“最高”);
}
}
});
});
var$table=$(“#mytable”);
$table.find(“th”)。每个函数(columnIndex)
{
var oldValue=1000000,currentValue=1000000,$elementToMark;
var$trs=$table.find(“tr”);
$trs.每个(功能(索引、元素)
{
oldValue=当前值;
var$td=$(this).find(“td:eq(“+columnIndex+”));
如果($td.length!=0)
{
currentValue=parseFloat($td.html());
如果(当前值<旧值)
{
$elementToMark=$td;
}
如果(索引==$trs.length-1)
{
$elementToMark.addClass(“最低”);
}
}
});
});
这里还有一个JSFIDLE:


问题是它没有标记正确的值,我看不出原因。

您在错误的位置更新了
旧值

 var $table = $("#mytable");
    $table.find("th").each(function(columnIndex)
    {
        var oldValue=0, currentValue=0, $elementToMark;
        var $trs = $table.find("tr");
        $trs.each(function(index, element)
        {

            var $td = $(this).find("td:eq("+ columnIndex +")");
            if ($td.length!=0) 
            {
                currentValue= parseFloat($td.html());
                if(currentValue > oldValue)
                {
                    $elementToMark= $td;
                    oldValue= currentValue;
                }
                if(index == $trs.length-1)
                {
                  $elementToMark.addClass("highest"); 
                }
            }
            });
    });


    var $table = $("#mytable");
    $table.find("th").each(function(columnIndex)
    {
        var oldValue=1000000, currentValue=1000000, $elementToMark;
        var $trs = $table.find("tr");
        $trs.each(function(index, element)
        {

            var $td = $(this).find("td:eq("+ columnIndex +")");
            if ($td.length!=0) 
            {
                currentValue= parseFloat($td.html());
                if(currentValue < oldValue)
                {
                    $elementToMark= $td;
                    oldValue= currentValue;

                }
                if(index == $trs.length-1)
                {
                  $elementToMark.addClass("lowest"); 
                }
            }
            });
    })
var$table=$(“#mytable”);
$table.find(“th”)。每个函数(columnIndex)
{
var oldValue=0,currentValue=0,$elementToMark;
var$trs=$table.find(“tr”);
$trs.每个(功能(索引、元素)
{
var$td=$(this).find(“td:eq(“+columnIndex+”));
如果($td.length!=0)
{
currentValue=parseFloat($td.html());
如果(当前值>旧值)
{
$elementToMark=$td;
oldValue=当前值;
}
如果(索引==$trs.length-1)
{
$elementToMark.addClass(“最高”);
}
}
});
});
var$table=$(“#mytable”);
$table.find(“th”)。每个函数(columnIndex)
{
var oldValue=1000000,currentValue=1000000,$elementToMark;
var$trs=$table.find(“tr”);
$trs.每个(功能(索引、元素)
{
var$td=$(this).find(“td:eq(“+columnIndex+”));
如果($td.length!=0)
{
currentValue=parseFloat($td.html());
如果(当前值<旧值)
{
$elementToMark=$td;
oldValue=当前值;
}
如果(索引==$trs.length-1)
{
$elementToMark.addClass(“最低”);
}
}
});
})

)

此代码将允许最低值或最高值之间的平局。很抱歉我开始玩它,没办法

var $table = $("#mytable");
$table.find("th").each(function(columnIndex)
{
    var oldValue=0, currentValue=0;
    var $trs = $table.find("tr");
    var highElements = [];
    var lowElements = [];
    var lowestValue = 99999;
    var highestValue = 0;

    console.log('new column ' + columnIndex);

    $trs.each(function(index, element)
    {
        oldValue= currentValue;
        var cell = $(this).find("td:eq("+ columnIndex +")");

        if (cell.length!=0) 
        {
            currentValue= parseInt(cell.html());
            if(currentValue < lowestValue)
            {
                lowestValue = currentValue;
                lowElements = [];
                lowElements.push(cell);
            }
            else if (currentValue == lowestValue) {
                lowElements.push(cell);
            }

            if (currentValue > highestValue)
            {
                highestValue = currentValue;
                highElements = [];
                highElements.push(cell);
            }
            else if (currentValue == highestValue) {
                highElements.push(cell);
            }
        }
    });

    $.each(lowElements, function(i, e){
        $(e).addClass('lowest');
    });

    $.each(highElements, function(i, e){
        $(e).addClass('highest');
    });
var$table=$(“#mytable”);
$table.find(“th”)。每个函数(columnIndex)
{
var oldValue=0,currentValue=0;
var$trs=$table.find(“tr”);
var highElements=[];
var LowerElements=[];
var最低值=99999;
var最高值=0;
console.log('新列'+列索引);
$trs.每个(功能(索引、元素)
{
oldValue=当前值;
var cell=$(this.find(“td:eq(“+columnIndex+”));
if(单元格长度!=0)
{
currentValue=parseInt(cell.html());
如果(当前值<最低值)
{
最低值=当前值;
低元素=[];
下元素推(单元);
}
else if(currentValue==最低值){
下元素推(单元);
}
如果(当前值>最高值)
{
最高值=当前值;
高元素=[];
highElements.push(单元);
}
else if(currentValue==最高值){
highElements.push(单元);
}
}
});
$。每个(低元素,函数(i,e){
$(e).addClass(“最低”);
});
$.each(高级元素、函数(即){
$(e).addClass(“最高”);
});
}))

希望能有帮助

在这里拉小提琴