变量不修改divCount

时间:2013-11-01 21:17:24

标签: javascript

我一直在学习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>

我还在学习,如果这是一个愚蠢的错误,请原谅我。感谢。

4 个答案:

答案 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>