Jquery 突出显示表格每行中的最大数字
我想突出显示表中每行中的最高数字。我想使用css类Jquery 突出显示表格每行中的最大数字,jquery,Jquery,我想突出显示表中每行中的最高数字。我想使用css类.max。但我需要避免在第1列和第1行中进行搜索,并省略空单元格 表格, th, 运输署{ 边框:1px纯黑; } 桌子{ 边界塌陷:塌陷; 宽度:100%; } tr:n个孩子(偶数){ 背景色:#E5; } 麦克斯先生{ 颜色:红色; } 项目 商店1 商店2 商店3 项目1 2. 1,333333 1,5 项目2 6. 5. 4. 项目3 4. 30 20 要实现这一点,您可以在每一行中循环,并在单元格中创建一个值数组,在运行时将它们转
.max
。但我需要避免在第1列和第1行中进行搜索,并省略空单元格
表格,
th,
运输署{
边框:1px纯黑;
}
桌子{
边界塌陷:塌陷;
宽度:100%;
}
tr:n个孩子(偶数){
背景色:#E5;
}
麦克斯先生{
颜色:红色;
}
项目
商店1
商店2
商店3
项目1
2.
1,333333
1,5
项目2
6.
5.
4.
项目3
4.
30
20
要实现这一点,您可以在每一行中循环,并在单元格中创建一个值数组,在运行时将它们转换为浮点值。然后可以使用reduce()
获取具有最高值的单元格的索引,并将类添加到其中
注意,我稍微修改了HTML,使选择相关单元格更容易。即分别使用thead
和tbody
分离标题单元格和正文,并将我们想要定位的单元格更改为td
,而不是th
。试试这个:
$('tbody tr')。每个(函数(){
var$tds=$(this.find('td');
var values=$tds.map(函数(){
返回parseFloat($(this.text().trim().replace(',','));
}).get();
$tds.eq(value.reduce((iMax,x,i,arr)=>x>arr[iMax]?i:iMax,0)).addClass('max');
});代码>
表格,
th,
运输署{
边框:1px纯黑;
}
桌子{
边界塌陷:塌陷;
宽度:100%;
}
tr:n个孩子(偶数){
背景色:#E5;
}
麦克斯先生{
颜色:红色;
}
项目
商店1
商店2
商店3
项目1
2.
1,333333
1,5
项目2
6.
5.
4.
项目3
4.
30
20
要实现这一点,您可以在每一行中循环,并在单元格中创建一个值数组,在运行时将它们转换为浮点值。然后可以使用reduce()
获取具有最高值的单元格的索引,并将类添加到其中
注意,我稍微修改了HTML,使选择相关单元格更容易。即分别使用thead
和tbody
分离标题单元格和正文,并将我们想要定位的单元格更改为td
,而不是th
。试试这个:
$('tbody tr')。每个(函数(){
var$tds=$(this.find('td');
var values=$tds.map(函数(){
返回parseFloat($(this.text().trim().replace(',','));
}).get();
$tds.eq(value.reduce((iMax,x,i,arr)=>x>arr[iMax]?i:iMax,0)).addClass('max');
});代码>
表格,
th,
运输署{
边框:1px纯黑;
}
桌子{
边界塌陷:塌陷;
宽度:100%;
}
tr:n个孩子(偶数){
背景色:#E5;
}
麦克斯先生{
颜色:红色;
}
项目
商店1
商店2
商店3
项目1
2.
1,333333
1,5
项目2
6.
5.
4.
项目3
4.
30
20
确定要用句点替换逗号吗?看起来你应该把它们脱掉。不,它们需要更换。在某些数字符号中,使用,
代替
。您需要替换它们,因为如果您试图解析它们,JS将抛出错误。如果我只是把它们去掉,那么13333
就变成了13333
,而不是原来的1.333
。啊,好的。这就解释了1,5
。确实要用句点替换逗号吗?看起来你应该把它们脱掉。不,它们需要更换。在某些数字符号中,使用,
代替
。您需要替换它们,因为如果您试图解析它们,JS将抛出错误。如果我只是把它们去掉,那么13333
就变成了13333
,而不是原来的1.333
。啊,好的。这就解释了1,5
。