javascript - jQuery/JavaScript 查找表列中的最高值

标签 javascript html-table

这是我的 table

<table id="aktivita">
  <tr>
    <td>Jack</td>
    <td>450</td>
    <td>794</td>
    <td>784</td>
  </tr>
  <tr>
    <td>Steve</td>
    <td>145</td>
    <td>794</td>
    <td>789</td>
  </tr>
  <tr>
    <td>Mike</td>
    <td>2794</td>
    <td>2794</td>
    <td>79</td>
  </tr>
</table>

如何获取自第二列(名称之后)以来的每一列,并将最高值类别设置为高,最低值类别设置为低? 如果更多 td 具有相同的值并且最高(或最低),则所有 td 都必须具有正确的类别。

$('#aktivita tr').each(function(){
  var first = $(this).find("td:nth-of-type(2)").text();
  var second = $(this).find("td:nth-of-type(3)").text();
  var third = $(this).find("td:nth-of-type(4)").text();


  console.log(first);
  console.log(second);
  console.log(third);
});

这就是我所拥有的。我不太喜欢使用基本相同的代码来变量。有什么办法可以让它干燥吗?

最佳答案

您可以循环遍历td并找到最小值和最大值并进行相应处理

$(function(){
  var cols = []
  var trs = $('#aktivita tr')
  var data =$.each(trs , function(index, tr){
    $.each($(tr).find("td").not(":first"), function(index, td){
      cols[index] = cols[index] || [];
      cols[index].push($(td).text())
    })
  });
  cols.forEach(function(col, index){
    var max = Math.max.apply(null, col);
    var min = Math.min.apply(null, col)
    $('#aktivita tr').find('td:eq('+(index+1)+')').each(function(i, td){
      $(td).toggleClass('max', +$(td).text() === max)
      $(td).toggleClass('min', +$(td).text() === min)  
    })
  })
})
.max {
  color: blue
}

.min {
  color: red
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<table id="aktivita">
  <tr>
    <td>Jack</td>
    <td>450</td>
    <td>794</td>
    <td>784</td>
  </tr>
  <tr>
    <td>Steve</td>
    <td>145</td>
    <td>794</td>
    <td>789</td>
  </tr>
  <tr>
    <td>Mike</td>
    <td>2794</td>
    <td>2794</td>
    <td>79</td>
  </tr>
</table>

关于javascript - jQuery/JavaScript 查找表列中的最高值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40105768/

相关文章:

javascript - Jquery - 如何从链接 href 获取页码并用作类

javascript - 从跨域 iframe 读取父变量

grails - 分页重置行的复选框

php - 我应该如何使用 mysql 中的数据填充我的 Accordion

PHP从mysql中选择数据文本范围

javascript - 嵌套的 document.writes 和第三方广告在 IE 中不起作用!!!!任何安全的解决方法?

javascript - 通过 navigator.geolocation 以外的方法获取经度/纬度?

javascript - 在javascript循环中声明变量每次点击都会为声明的变量分配相同的值

javascript - 在这种情况下如何获取选定的表 tr 行

jquery - 将 float 工具栏放在表格行上