为什么$ .isnumeric为false

时间:2015-05-30 17:48:50

标签: javascript jquery

我正在编写一些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

为什么这不正确?

1 个答案:

答案 0 :(得分:7)

.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();