parseFloat on $(this).val() 返回一个对象

parseFloat on $(this).val() returns an object

本文关键字:val 返回 一个对象 this on parseFloat      更新时间:2023-09-26
$.ready(function {
    $('.timeViewList input').on("blur", validateHrs);
});
function validateHrs(){
    var e = parseFloat($(this).val());

卡在下一行。

    if (e.isNumeric() && (0 < e < 24)) {...}
}

它抛出一个类型对象,因为 e 是一个对象,并且无法识别函数 isNumeric((。如"未捕获的类型错误:对象 18.37 没有方法'isNumeric'

我知道parseFloat((不适用于$(this(.val((。谁能告诉我为什么?

问题是浮点数没有isNumeric函数,这正是错误消息所说的。

试试这个:

if(!isNaN(e) ... )

此外,0 < e < 24也不起作用。你需要写

if(!isNaN(e) && 0 < e && e < 24)

isNumeric((是jQuery对象的一种方法。 parseFloat(( 是一个普通的 JavaScript 函数。你不能指望一个标准的JavaScript函数返回一个jQuery对象。特别是这个,返回许多NaN。顺便说一下,isNaN(( 允许您测试您的e变量是否不是数字。

顺便说一句,现在所有像样的浏览器(和Internet Explorer(都提供了一个内置的JavaScript控制台,除其他功能外,它还允许您console.log()变量。绝对没有必要猜测。