我正在编写一些 JavaScript 并且我有一个表,我需要在其中测试数据库键(数字)或默认值(“NO MATCH”)的字段。我正在尝试使用 jQuery 函数“isNumeric”

代码是:

var id = $('#myDataTable input:checked').map(function(){
     return $(this).closest('tr').find('td:eq(3)').text();
}).get();

console.log(" ID "+id);
console.log(" ID2 "+$.isNumeric(id));

在我的控制台中,我看到:
ID 1
ID2 false

为什么这不是真的?

最佳答案

.get() 返回非数字数组 ["1"]

当您将它记录到控制台时,您看不到它,因为您将它与一个字符串连接起来,而 ["1"].toString()"1"

相反,在调试时最好避免将变量强制转换为其他类型。 console.log("ID", id) 会更好。

要获取字符串而不是数组,您可以使用 .get(0)[0]

但是,如果您只对第一个字符串感兴趣,则使用 map 没有意义:

var id = $('#myDataTable input:checked').eq(0)
         .closest('tr').find('td').eq(3)
         .text();

关于javascript - 为什么 $.isnumeric 是假的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30549408/

10-11 12:50
查看更多