我一直在学习javascript,而且我已经挂了一段时间了。我试图在每次按下按钮时添加1,并且它没有这样做,它只是停留在0。
<input id="numberBox" size="10" type="text">
<br><br>
<input value="Double!"
onclick="var n = document.getElementById('numberBox').value;
n = n * 2;
document.getElementById('numberBox').value = n";
input type="button">
<br>
<br>
<input value="Reset Number of Clicks" onclick="document.getElementById('divCount').innerHTML = 0;" type="button">
</p>
<hr>
<script>
var count = document.getElementById('divCount').innerHTML;
count ++;
document.getElementById('divCount').innerHTML = count;
</script>
<div id='divCount'>0</div>
我还在学习,如果这是一个愚蠢的错误,请原谅我。感谢。
答案 0 :(得分:1)
使用parseInt
函数确保count
实际上是一个整数,然后才能增加它:
<script>
var count = parseInt(document.getElementById('divCount').innerHTML, 10);
count ++;
document.getElementById('divCount').innerHTML = count;
</script>
您正在调用的innerHTML
属性返回一个字符串。对字符串执行++
操作毫无意义。你宁愿在一个号码上这样做。第二个参数表示解析字符串时的基数,在本例中为十进制(10)。
另外请确保您在操作div之后放置了此脚本:
<div id="divCount">0</div>
<script>
var count = parseInt(document.getElementById('divCount').innerHTML, 10);
count ++;
document.getElementById('divCount').innerHTML = count;
</script>
或者当您调用document.getElementById('divCount')
时,您可能会因为DOM尚未完全加载而变为null。
答案 1 :(得分:1)
执行脚本时必须已创建元素,并且必须解析字符串以增加它:
<div id='divCount'>0</div>
<script>
var count = parseInt(document.getElementById('divCount').innerHTML, 10);
count ++;
document.getElementById('divCount').innerHTML = count;
</script>
如果您不想将脚本放在元素之后(或者如果您的JS代码位于标题中导入的单独文件中),您可以将内容放在加载时执行的函数中:
<script>
document.addEventListener('load', function(){
var count = parseInt(document.getElementById('divCount').innerHTML, 10);
count ++;
document.getElementById('divCount').innerHTML = count;
});
</script>
<div id='divCount'>0</div>
答案 2 :(得分:0)
试试这个parseInt()函数:
<script>
var count = parseInt(document.getElementById('divCount').innerHTML);
count++;
document.getElementById('divCount').innerHTML = count;
</script>
<div id='divCount'>0</div>
答案 3 :(得分:0)
<div id='divCount'>0</div>
<input type="button" value="add" onclick="oneUp();" />
<script>
function oneUp()
{
var count = parseInt(document.getElementById('divCount').innerHTML, 10);
count ++;
document.getElementById('divCount').innerHTML = count;
}
</script>