如果& lt; td>有最大的整型数,在它的<添加CSS类到<td>——jquery
If <td> has the largest int, in its <tr> add css class to <td> - jquery
我有一个数据表,我试着看一眼它,并找到每一行的最高数字。
为了做到这一点,我添加了一个css类,名为最高的<td>
,像这样
<tr>
<td>4.2</td>
<td class="highest">5.0</td>
<td>2.9</td>
</tr>
与这个css
td.highest {font-weight:bold;}
但这都是硬编码,我试图找出如何写这个使用jquery,但我很新的js和不确定是否开始,我正在寻找使用Math.max
,但我可以告诉那是用于数组,而不是阅读html,有什么想法吗?
我在这里做了一个jsfiddle - http://jsfiddle.net/pudle/vEUUQ/
第一个bash -可能有更短(可能更有效)的答案…
$('tr').each(function() {
var $td = $(this).children();
// find all the values
var vals = $td.map(function() {
return +$(this).text();
}).get();
// then find their maximum
var max = Math.max.apply(Math, vals);
// tag any cell matching the max value
$td.filter(function() {
return +$(this).text() === max;
}).addClass('highest');
});
demo at http://jsfiddle.net/alnitak/DggUN/
基于这个结构:
<table>
<tr>
<td>4.2</td>
<td>5.0</td>
<td>2.9</td>
</tr>
</table>
你可以使用JS/jQuery做:
var highest = 0;
$("table tr td").each(function() {
var current = $(this).text();
if (current > highest) {
highest = current;
$(".highest").removeClass();
$(this).addClass('highest');
}
});
http://jsfiddle.net/syU82/我能想到的最简单的方法是使用http://underscorejs.org/#max或http://lodash.com/docs#max,并传入一个函数来进行过滤。
var result = _.max($("td"),function(td){ return parseFloat($(td).text()); });
result.addClass("highest");
否则你可以长时间地做:
var result,max 0;
$("td").filter(function(){
var myval = parseFloat($(this).text());
if(myval > max){
result = this;
max = myval;
}
});
result.addClass("highest");
这是另一个解决方案,虽然不如其他一些解决方案好。
$('tr').each(function() {
var $highest_el;
var highest_num;
$('td', this).each(function() {
if ( $highest_el === undefined || parseFloat($(this).text()) > highest_num ) {
$highest_el = $(this);
highest_num = $(this).text();
}
});
$highest_el.addClass('highest');
});
jsFiddle: http://jsfiddle.net/hRJLQ/2/
相关文章:
- JQuery展开和隐藏表td
- jQuery如何获取td单元格值
- 在同一tr-jQuery中获取td的值
- jQuery将td onclick值传递到其他表
- JQuery选择器:如果同级具有.class,则选择td
- jQuery将TD注入适当的列(俄罗斯方块风格)
- 使用 Jquery 选择一个 td 元素
- jQuery将输入集中在下一个tr->td时,td包含一个输入字段,但从不关注html选择
- 当 td id 已知时,在 jquery 中设置 td 背景颜色
- Jquery 无法在单击时选择和取消选择 td
- 在 jquery 中的 TR 中查找 td 的所有输入
- 基本 Jquery - 如果 TD 中存在文本,则使 DIV 可见
- jQuery选择器,用于查找包含具有特定值的TD输入的TR
- focus Using Jquery <tr> <td>
- 如何从空td标记上的javascript(而不是jquery)手动触发onmousedown事件
- 如何使用 jQuery 筛选器选择器查找表标记 td 值
- 使用jquery删除td类
- 删除父 TD Jquery 中的表元素
- 创建开放的tr和td jquery
- 将td-jquery中的文本替换为条件