8

我正在尝试从具有特定类的表格单元格中获取最高数字(在下面的示例中为 8)。我假设我必须将其转换为数组,然后对其执行 math.max ?

这是我的 HTML 代码:

<table>
    <tr>
        <td class="id">3</td>
    </tr>
    <tr>
        <td class="id">8</td>
    </tr>
    <tr>
        <td class="id">4</td>
    </tr>
</table>

这确实是我尝试过的,但它只返回 384。所以 math.max 不起作用。

var varID = $('.id').text();
var varArray= jQuery.makeArray(varID);
alert (varArray);
4

3 回答 3

12

我认为最好的方法是:

var max = 0;
$('.id').each(function()
{
   $this = parseInt( $(this).text() );
   if ($this > max) max = $this;
});
alert(max);

jsfiddle 示例

于 2012-09-23T22:07:03.030 回答
8

尝试这个:

var high = Math.max.apply(Math, $('.id').map(function(){
         return $(this).text()
}))

http://jsfiddle.net/9mQwT/

于 2012-09-23T22:14:38.390 回答
2

检查这个 小提琴

$(function() {

   // Get all the elements with class id
   var $td = $('table .id');
   var max = 0;
    $.each($td , function(){
        if( parseInt($(this).text()) > max){
           max = parseInt($(this).text())
        }
    });
            console.log('Max number is : ' + max)

});​

您可以使用 parseInt 或 parseFloat 将其转换为数字,否则,它将像字符串一样将它们与它们的 ascii 值进行比较。

于 2012-09-23T22:10:42.677 回答