Javascript 当值为0时,jQuery旋钮显示NaN
真奇怪Javascript 当值为0时,jQuery旋钮显示NaN,javascript,jquery,angularjs,jquery-knob,Javascript,Jquery,Angularjs,Jquery Knob,真奇怪 $(function(){ $('.dial').knob({ return value + '%'; }); }); 这是我最初的代码,让百分号显示出来,效果很好。由于某些原因,当值为0时,页面加载时显示为NaN。奇怪的是,只有高亮显示文本,然后单击“关闭”,它才会显示实际值0(替换NaN值)。知道是什么导致了这一切吗?我试图在格式挂钩中处理它: $(function(){ $('.dial').knob({ 'format': f
$(function(){
$('.dial').knob({
return value + '%';
});
});
这是我最初的代码,让百分号显示出来,效果很好。由于某些原因,当值为0时,页面加载时显示为NaN
。奇怪的是,只有高亮显示文本,然后单击“关闭”,它才会显示实际值0(替换NaN
值)。知道是什么导致了这一切吗?我试图在格式挂钩中处理它:
$(function(){
$('.dial').knob({
'format': function( value ){
if(value == undefined || value == NaN {
value = 0;
return value + '%';
}
else{
return value + '%';
}
}
});
});
它仍然不起作用。我将传入的值记录在控制台中,果然是0。我认为可能是“x在y之前加载”,因此它认为值未定义,因为我通过angularJS数据绑定传入value属性。但我试图处理它,但没有用。有什么想法吗?
value==NaN
不会起作用,因为令人惊讶的是,在javascript中,NaN并不等于NaN。试试看。您确定您的条件检查正常吗?我总是使用if(typeof(value)=='undefined'…
。可能值得一试。我会尝试一下,并让您知道。此外,在Firebug或类似软件中调试这一点会告诉您到底发生了什么。仍然不起作用。我开始越来越多地认为,在我的角度数据绑定之前加载jQuery旋钮是一个问题。我认为“格式”挂钩无法解决执行任何处理,而不是向值追加内容,因为条件检查没有任何作用。value==NaN
将不起作用,因为在javascriptNaN
中,NaN不等于NaN
。请改为尝试isNaN()。