嗨,我正在尝试使用以下方法检查DOM的值:
if ($('#ATTN').val() == '') {
$('#ATTN').val(0);
} else {
iattn=$('#ATTN').val();
alert(iattn);
if(typeof iattn == 'number'){
alert('oh');
}
}
但它什么也没返回。也没有显示错误。
最佳答案
这条线
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。
关于javascript - typeof命令不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38126449/