将类别应用于不同列的最高值
我有一些代码已经可以工作,但我想更改我的页面设计,在执行此操作时,添加类脚本不起作用。这是我的设计:
<tr>
<td>Item 1</td>
<td>£<?php echo $row1['item1']; ?></td>
<td>£<?php echo $row2['item1']; ?></td>
<td>£<?php echo $row3['item1']; ?></td>
<td>£<?php echo $row4['item1']; ?></td>
<td>Item 2</td>
<td>£<?php echo $row1['item2']; ?></td>
<td>£<?php echo $row2['item2']; ?></td>
<td>£<?php echo $row3['item2']; ?></td>
<td>£<?php echo $row4['item2']; ?></td>
<td>Item 3</td>
<td>£<?php echo $row1['item3']; ?></td>
<td>£<?php echo $row2['item3']; ?></td>
<td>£<?php echo $row3['item3']; ?></td>
<td>£<?php echo $row4['item3']; ?></td>
</tr>
这是我得到的 jQuery 代码:
<script type='text/javascript'>
//<![CDATA[
$(window).load(function(){
(function($) {
$.fn.max = function(callback) {
var max = null,
maxIndex = null;
this.each(function() {
var value = callback.call(this);
if (+value === value) {
if (!max || value > max) {
max = value;
maxIndex = $(this).index();
}
}
});
return max !== null ? this.eq(maxIndex) : $();
};
}(jQuery));
$('tr').each(function() {
$(this).children('td').max(function() {
var value = +$(this).text().substr(1);
if (!isNaN(value)) {
return value;
}
}).addClass('green bold');
});
});
//]]>
</script>
这有效,但仅适用于每个 tr,这意味着它突出显示每行中的最高值,而我需要它突出显示每行中的最高值组(第 1、2 和 3 项)。
可以更改代码以使其起作用吗?
I have some code that works already but I'd like to change my page design, in doing this the add class script doesn't work. Here's what I've got for the design:
<tr>
<td>Item 1</td>
<td>£<?php echo $row1['item1']; ?></td>
<td>£<?php echo $row2['item1']; ?></td>
<td>£<?php echo $row3['item1']; ?></td>
<td>£<?php echo $row4['item1']; ?></td>
<td>Item 2</td>
<td>£<?php echo $row1['item2']; ?></td>
<td>£<?php echo $row2['item2']; ?></td>
<td>£<?php echo $row3['item2']; ?></td>
<td>£<?php echo $row4['item2']; ?></td>
<td>Item 3</td>
<td>£<?php echo $row1['item3']; ?></td>
<td>£<?php echo $row2['item3']; ?></td>
<td>£<?php echo $row3['item3']; ?></td>
<td>£<?php echo $row4['item3']; ?></td>
</tr>
Here's the jQuery code I've got:
<script type='text/javascript'>
//<![CDATA[
$(window).load(function(){
(function($) {
$.fn.max = function(callback) {
var max = null,
maxIndex = null;
this.each(function() {
var value = callback.call(this);
if (+value === value) {
if (!max || value > max) {
max = value;
maxIndex = $(this).index();
}
}
});
return max !== null ? this.eq(maxIndex) : $();
};
}(jQuery));
$('tr').each(function() {
$(this).children('td').max(function() {
var value = +$(this).text().substr(1);
if (!isNaN(value)) {
return value;
}
}).addClass('green bold');
});
});
//]]>
</script>
This works but only for each tr, meaning it highlights the highest value in each row, where as I need to it to highlight the highest value through each group (item 1, 2 and 3).
Can the code be changed for this to work?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试在不首先循环 TR 的情况下循环遍历 TD:
Try looping through the TDs without first looping through the TRs: