我有这个HTML代码
<button id="pox" class="here click" value="10"> Posted </button>
<button id="pox1" class="here2 click" value="10"> Posted-Date</button>
这个样本JS代码
var one = document.getElementById("pox").value-=5;
var one = document.getElementById("pox1").value+=5;
问题是 - = 5返回一个5值,这是我想要的。但+ = 5返回105,如何让它返回15。
我添加 - = 5或+ = 5的目的是每次点击按钮时添加或减去5
答案 0 :(得分:1)
如果要更改按钮的value
,则不能使用简单的+=
,因为该值是字符串,因此+=
将连接它。如果使用简单变量,则更容易看到:
// normal numbers
var aNumber = 1;
aNumber += 5; // aNumber = 6
// the left hand side is a string, so the right hand side is also converted to a string
var aString = "1";
aString += 5; // aString = "15";
相反,在这种情况下,最好进行2次操作 - 解析值并将其分配给变量然后将其分配回来。
所以:
document.getElementById("pox").value = parseInt(document.getElementById("pox").value, 10) - 5;
document.getElementById("pox1").value = parseInt(document.getElementById("pox1").value, 10) + 5;
或更具可读性,您可以使用以下值存储和执行某些操作:
var one = parseInt(document.getElementById("pox").value, 10);
one -= 5;
document.getElementById("pox").value = one;
var two = parseInt(document.getElementById("pox1").value, 10);
two += 5;
document.getElementById("pox1").value = two;