1

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

4 回答 4

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')您可能会得到 null,因为 DOM 尚未完全加载。

于 2013-11-01T21:19:03.477 回答
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>
于 2013-11-01T21:19:47.470 回答
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>
于 2013-11-01T21:39:49.547 回答
0

试试这个 parseInt() 函数:

<script>
    var count = parseInt(document.getElementById('divCount').innerHTML);
    count++;
    document.getElementById('divCount').innerHTML = count;
</script>
<div id='divCount'>0</div>
于 2013-11-01T21:19:47.893 回答