Javascript 为什么少于不起作用?

Javascript 为什么少于不起作用?,javascript,jquery,Javascript,Jquery,这似乎很简单,但为什么这种比较不起作用呢 if (nmax < num){ nmax = num; } 编辑: 以下是全部代码: var nmax = 0; $(notams.rows().nodes()).each(function(key, id){ var num = $(id).find("td:eq(0)").html(); if (num > nmax){ nmax = num;

这似乎很简单,但为什么这种比较不起作用呢

if (nmax < num){
        nmax = num;
    }
编辑:

以下是全部代码:

var nmax = 0;
    $(notams.rows().nodes()).each(function(key, id){
        var num = $(id).find("td:eq(0)").html();
        if (num > nmax){
            nmax = num;
        }
        console.log(num+' '+nmax);
    });

num有时是一个字符串。parseInt和一切都很好

尝试用parseInt包装它们

if (parseInt(nmax) < parseInt(num)){
        nmax = num;
    }

试着做数值比较

var nmax = 0;
$(notams.rows().nodes()).each(function (key, id) {
    var num = parseInt($(id).find("td:eq(0)").html().trim(), 10);
    if (num > nmax) {
        nmax = num;
    }
    console.log(num + ' ' + nmax);
});

如果这是有问题的代码,则表示您正在比较字符串。99比101大。您必须将它们转换为数字,例如:

nmax = Number(nmax); // or parseInt(nmax)
num = Number(num);   // or parseInt(num)
// ...
if (nmax < num){
    nmax = num;
}

如果你发布完整的代码,这并不是导致麻烦的代码。可能你是在比较字符串,而不是实际的数字“99”大于“101”,这就是事实。前3个是数字和之后的字符串。谢谢
nmax = Number(nmax); // or parseInt(nmax)
num = Number(num);   // or parseInt(num)
// ...
if (nmax < num){
    nmax = num;
}