您好我试图用以下方法检查DOM的值:
if ($('#ATTN').val() == '') {
$('#ATTN').val(0);
} else {
iattn=$('#ATTN').val();
alert(iattn);
if(typeof iattn == 'number'){
alert('oh');
}
}
但它什么也没有返回。也没有显示错误。
答案 0 :(得分:1)
这一行
iattn=$('#ATTN').val();
返回一个字符串。
如果你想看看它是否可以转换为整数,那么你想要的是:
iattn=parseInt($('#ATTN').val());
if (iattn) {
alert("oh");
}
如果您想进行更一般的数字测试,请使用parseFloat
而不是parseInt
。
如果要检查解析结果是否与输入匹配,请使用以下内容:
iattn=$('#ATTN').val();
if (iattn == parseInt(iattn)) {
alert("oh");
}
更简单的检查,它实际上不会将任何内容转换为数字,并允许所有数字格式(例如2.3,0x3,+ 23)是这样的:
if (!isNaN(iattn)) {
alert("oh");
}
从评论中感谢@ p.s.w.g。
答案 1 :(得分:0)
.val()
返回DOMString
(字符串)
因此typeof iattn
始终为string
如果您希望typeof number
转换为int
使用parseInt(iattn)
或parseFloat(iattn)