2011-10-04 53 views
0

我有一些代碼已經可以工作了,但是我想更改我的頁面設計,在這樣做時,添加類腳本不起作用。以下是我已經得到了設計:將類應用於最高值而不是單獨的列

<tr> 
    <td>Item 1</td> 
    <td>&pound;<?php echo $row1['item1']; ?></td> 
    <td>&pound;<?php echo $row2['item1']; ?></td> 
    <td>&pound;<?php echo $row3['item1']; ?></td> 
    <td>&pound;<?php echo $row4['item1']; ?></td> 
    <td>Item 2</td> 
    <td>&pound;<?php echo $row1['item2']; ?></td> 
    <td>&pound;<?php echo $row2['item2']; ?></td> 
    <td>&pound;<?php echo $row3['item2']; ?></td> 
    <td>&pound;<?php echo $row4['item2']; ?></td> 
    <td>Item 3</td> 
    <td>&pound;<?php echo $row1['item3']; ?></td> 
    <td>&pound;<?php echo $row2['item3']; ?></td> 
    <td>&pound;<?php echo $row3['item3']; ?></td> 
    <td>&pound;<?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項)。

可以更改代碼以使其工作嗎?

回答

0

嘗試通過TDS循環而不經過的TR第一循環:

$('table').find('td').max(function() { 
    var value = +$(this).text().substr(1); 
    if (!isNaN(value)) { 
     return value; 
    } 
}).addClass('green bold'); 
+0

使用你已經發布的代碼將停止該類變化都在一起。 我想我需要一種將每行列分組到一個的方法,然後查看代碼。這是前進的方向嗎? – user979216

相關問題