Javascript jQuery:If数字超过3位

Javascript jQuery:If数字超过3位,javascript,jquery,if-statement,Javascript,Jquery,If Statement,如何查看跨距包含的数字是否超过3位?我试过下面的方法,但没用 if ($('.pointScore .score').val() > 999 ) { alert("Over 999 point"); } 提前谢谢你。多谢 我只需要将val()更改为text() 对不起 if ($('.pointScore .score').text() > 999 ) { alert("Over 999 point")

如何查看跨距包含的数字是否超过3位?我试过下面的方法,但没用

    if ($('.pointScore .score').val() > 999 ) {    
        alert("Over 999 point");    
    }
提前谢谢你。

多谢

我只需要将val()更改为text()

对不起

    if ($('.pointScore .score').text() > 999 ) {    
        alert("Over 999 point");    
    }

您注意到
span
没有值,但代码还有另一个潜在问题。文本是一个字符串,因此您将比较字符串和数字。因为这可能会产生意想不到的结果,所以应该避免

最简单的方法是简单地检查字符串的长度:

if ($('.pointScore .score').text().length > 3) {    
    alert("Over 999 point");
}
您还可以将字符串解析为数字:

if (parseInt($('.pointScore .score').text(), 10) > 999) {    
    alert("Over 999 point");
}

或者,您可以使用length属性

if ($('.pointScore .score').html().length > 3) {    
        alert("more than 3 digits");    
    }

很可能.val()将其作为字符串返回。试试
.val()>“999”
您不需要强制转换为整数吗?我猜跨度值是字符串。PerfectlyNormal的建议是危险的。你不应该比较字符串的大小。@PerfectlyNormal,@Vladislav:不,JavaScript会帮你做这种事情。很多时候,甚至都做对了。最好使用
parseInt
,但可能不使用。@T.J.这就是我在发布评论之前将“不能比较”改为“不应该比较”的原因。我试图找到一个文本比较失败但我不能的情况,你确定它不是自动转换的吗?更好,在
parseInt
中包含基数,以便每个人都将
0999
视为相同的,而不是因实现而有所不同。。。编辑:啊,好的,所以对于
parseInt
,我不会立即看到它随实现的不同而变化(与数字文字不同),非常普遍地返回
0
。尽管如此,对于基数参数(使用
10
),它会返回
999
,这可能更有用。@Andrew:Javascript似乎很擅长猜测混合类型时的含义,但是您仍然应该确保转换是按您想要的方式完成的,而不是依赖Javascript引擎来试图找出您想要的内容。@T.J.Crowder:是的,
parseInt
当然应该有基数。我更正了代码。
123