我正在编写一些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
为什么这不正确?
答案 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();