如何获取number类型input的数值类型值而非字符串类型值?
解决方法
你可以直接使用原生DOM提供的valueAsNumber属性直接获取数值类型结果,不需要手动做类型转换,对应写法如下:
jQuery版本:
const numVal = $("#create-y-small")[0].valueAsNumber
原生JavaScript版本:
const numVal = document.getElementById("create-y-small").valueAsNumber
为什么默认返回字符串
HTML标准明确规定,所有input元素的value属性存储的都是字符串类型。设置type="number"仅用于限制输入规则、移动端唤起数字键盘、提供浏览器原生的数值调整按钮,不会改变value属性的返回类型。jQuery的val()方法本质是直接读取DOM的value属性,因此默认返回字符串。
注意事项
如果输入框为空或者当前内容不符合数值格式,valueAsNumber会返回NaN,你可以根据业务需要做对应兼容判断即可。
内容的提问来源于stack exchange,提问作者Neil
相关产品推荐
相关产品推荐

