val()如何返回Number?
在val
文档中写下这个描述:
.val()返回:String,Number,Array
我试图得到一个Number
,但它似乎只返回string
,有什么我做错了吗?
$('#gdoron').val('1'); alert($('#gdoron').val() === '1'); // true alert(typeof $('#gdoron').val()); // string. $('#gdoron').val(1); alert($('#gdoron').val() === 1); // false alert(typeof $('#gdoron').val()); // string (not "number"!)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="text" id="gdoron" />
我的问题是: val()
如何返回数字作为文档说? 问题不在于如何parsingstring。
一些HTML5元素,例如进度;
alert(typeof $("#prog").val()); // number
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <progress value="50" max="100" id="prog"></progress>
文本input的value
属性将始终返回一个string。 你需要parseInt
的值来得到一个整数:
parseInt($('#myInput').val(), 10);
我已经做了一些快速的偷看,我想我有一个答案。 如果你看一下val
函数的实现,你可以看到如果有一个所谓的val-hook,如果val-hook返回一个数字,那么这个数字将被从val函数中原样返回。 我发现这个讨论表明,val-hooks主要被插件用来创build自定义控件,比如滑块等,其中val
的“自然”返回值可以是一个整数。 希望这对你的问题有一些启示。