javascript - 尝试使用 toPrecision 时 toPrecision 不是函数

标签 javascript jquery

我错过了什么?

错误

TypeError: $(...).val(...).toPrecision is not a function

代码

$('.value_psi').val(
    convert(Number($('.value_psi').val()), "psi", "bar")
 ).toPrecision(4);

更新

转换返回:

return val * conv[from] / conv[to];

解决思路

所以解决方案基本上是将括号之一向右移动!

最佳答案

当这样使用时,val 方法返回一个 jQuery 对象。 toPrecision 方法是 Number 对象的方法,而不是 jQuery 方法。

尝试在 jQuery 对象上访问它会返回 undefined,然后尝试将其用作函数会给出错误消息。

要格式化您在 val 方法中使用的数字,您可以在调用中的值而不是调用的返回值上使用 toPrecision:

$('.value_psi').val(
  convert(Number($('.value_psi').val()), "psi", "bar").toPrecision(4)
);

关于javascript - 尝试使用 toPrecision 时 toPrecision 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27070309/

相关文章:

JavaScript:如何对从 Firebase 获得的数据进行排序并仅显示其中的一部分?

javascript - MooTools 在方法和内部函数中绑定(bind)/保持类范围

javascript - 定位 JS 动画 DIV

javascript - 异步图片加载和SEO

javascript - jQuery UI 仅在特殊区域删除元素

jquery - 使用 jquery 清除特定 div 或 span 内的表单元素值

javascript - 像 stackoverflow 中一样使用 .net mvc 3 动态预览表单帖子

javascript - 是否可以在其他人的页面上呈现我页面上输入的值?

javascript - 获取由选中的复选框创建的值多个按钮

javascript - 如何从工具提示 (tooltipsy) 启动灯箱 (Fancybox)?