我正在尝试添加1到我的JavaScript变量中,但以下代码未提供预期结果:
var val1 = document.getElementById('<%= rng1.ClientID %>');
var val2 = val1.value + "1";
alert(val2.value);
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
Fra*_*ger 19
您可以使用函数parseInt()将存储在val1.value中的字符串转换为数字:
var val2 = parseInt(val1.value) + 1;
Run Code Online (Sandbox Code Playgroud)
请注意,Number(val1.value)还会将您的值转换为数字.
-edit-
正如yc建议的那样,强烈建议使用,parseInt(val1.value, 10) + 1;因为如果你的字符串以字符串开头"0"被解释为八进制.例如.parseInt("0123") == 83而不是123
最简单也是首选的方法是使用+转换为数字.
例子:
+'234'; // 234
+'042'; // 42! It does not convert to octal
Run Code Online (Sandbox Code Playgroud)
在你的情况下:
var val1 = +(document.getElementById('<%= rng1.ClientID %>').value); // () added just for the looks
var val2 = val1.value + 1; // if val1 is 5, val2 will be 6 hooray!
alert(val2); // just val2, since it's a plain number not an html input element
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65266 次 |
| 最近记录: |