如何查看SPAN是否包含超過3位數字的數字?我嘗試了下面,但它沒有奏效。jQuery:如果數字高於3位數字
if ($('.pointScore .score').val() > 999) {
alert("Over 999 point");
}
在此先感謝您。
如何查看SPAN是否包含超過3位數字的數字?我嘗試了下面,但它沒有奏效。jQuery:如果數字高於3位數字
if ($('.pointScore .score').val() > 999) {
alert("Over 999 point");
}
在此先感謝您。
DOH!
我只是需要改變VAL()來發送短信()...
對不起......
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");
}
我試圖找到一個案例,文本比較失敗,但我不能,你確定它不會自動投射? – Flash 2011-05-04 09:50:57
更好的是,在'parseInt'中包含基數,以便每個人對待'0999'都是相同的,而不是通過實現來改變它。編輯:啊,好吧,用'parseInt'我是不會立即看到它的變化實現(不同於數字文字),相當普遍地返回'0'。儘管如此,使用基數參數(使用'10')它回來了'999',這可能更有用。 – 2011-05-04 09:53:10
@Andrew:看起來Javascript非常適合猜測混合類型時的含義,但您仍應確保按照自己的意願完成轉換,而不要依賴Javascript引擎來試圖找出您想要的內容。 – Guffa 2011-05-04 13:49:38
最有可能的.val()以字符串形式返回它。嘗試'.val()>「999」' – PerfectlyNormal 2011-05-04 09:40:00
你不需要強制轉換爲Integer嗎?我猜測跨度值是字符串。完美正常的建議是危險的BTW。你不應該比較更大或更小的字符串。 – 2011-05-04 09:41:16
@PerfectlyNormal,@Vladislav:不,JavaScript會爲你做這種事情。即使在很多時候它都是正確的。最好使用'parseInt',但*可能*不適用。 – 2011-05-04 09:52:15