Javascript 从document.getElementById字符串返回的HTML元素类型不是数字

Javascript 从document.getElementById字符串返回的HTML元素类型不是数字,javascript,Javascript,我使用document.getElementById.innerHTML获取HTML元素的值,然后将该值传递给返回值类型的函数。然后,我使用if/else if块将值的类型打印到控制台。我的问题是,typeof方法总是返回字符串类型。如果我不使用document.getElementById并直接声明变量,typeof将返回正确的类型。谢谢你的帮助 JS小提琴在这里: innerHTML将只返回一个字符串。您需要将其解析为整数 这里发生的是,您正在检查以字符串形式存在的数字类型。请尝试以下方法:

我使用document.getElementById.innerHTML获取HTML元素的值,然后将该值传递给返回值类型的函数。然后,我使用if/else if块将值的类型打印到控制台。我的问题是,typeof方法总是返回字符串类型。如果我不使用document.getElementById并直接声明变量,typeof将返回正确的类型。谢谢你的帮助

JS小提琴在这里:


innerHTML将只返回一个字符串。您需要将其解析为整数


这里发生的是,您正在检查以字符串形式存在的数字类型。请尝试以下方法:

// return var type
function check_type(value) {
    //you could also use parseInt or parseFloat here, but that would return a number for a string like "2014 asdf".  
    //By multiplying by 1, the value will be changed into a number if it is one
    var valueNumber = value*1;
    return typeof valueNumber;    
}

您可以尝试将该值解析为整数,然后将其与原始值进行比较:

if(parseInt(LowTemperature) == LowTemperature) alert("LowTemperature is an integer");


innerHTML
将始终返回字符串。您可以尝试使用
isNaN
检测它是否是数字。如果
isNaN(低温)
返回
false
,则
LowTemperature
是一个数字字符串。看:谢谢你,亚当!工作正常。
if(parseInt(LowTemperature) == LowTemperature) alert("LowTemperature is an integer");
var LowTemperature = document.getElementById('LowTemperature').value;
var LowTemperature = parseInt(document.getElementById('LowTemperature').innerHTML);