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;
}