我之前从未遇到过这个错误,每当我的jquery脚本比较数字9和10或99和100或999和1000与9 <10或99 <100或999 <1000我得到一个错误的结果时,我得到了错误是的.我该如何解决这个jquery错误?谢谢.
jQuery的:
interval = setInterval(function(){
$.post('help/retrivetable.php', { tableimpulse : sessid } ,
function(watchaget) {
if (countcom < watchaget)
{
countcom = watchaget;
$.post('help/retrivetable.php', { newtableimpulse : sessid } ,
function(getit) {
$("#chat").append("<p id="+countmsg+">"+getit+"</p>");
var scrolldown = $('#chat')[0].scrollHeight;
$('#chat').animate({scrollTop:scrolldown}, 200);
});
}
});
}, 50);
Run Code Online (Sandbox Code Playgroud)
当countcom = 9并且watchaget = 10时,它应该输入if if,但我认为它们是相同的并且不会进入它.
Hub*_*ast 12
jQuery是Javascript.如果它是一个bug,它不是jQuery-Bug而是Javascript-Bug.(编辑:有关于这句话的讨论.阅读评论)
尝试此解决方案:
变量定义为字符串:
var a = "9";
var b = "10";
Run Code Online (Sandbox Code Playgroud)
此比较将重现您的结果:
if (a < b) ...
Run Code Online (Sandbox Code Playgroud)
当比较两个字符串与运营商<你true如果第一个操作数将词法第二前进行排序.得到这个结果,因为在词法顺序中,以"1"开头的字符串将在以"9"开头的字符串之前排序,而不管其长度如何.
试试这个:
if (a-b < 0) ...
Run Code Online (Sandbox Code Playgroud)
该术语a-b强制javascript处理数值计算.字符串将转换为数字.
| 归档时间: |
|
| 查看次数: |
13620 次 |
| 最近记录: |