0

嗨,我如何在 div 中显示 javascript 结果。代码是:

<script type='text/javascript'>
COUNTER_START = 40
function tick () {
    if (document.getElementById ('counter').firstChild.data > 0) {
        document.getElementById ('counter').firstChild.data = document.getElementById ('counter').firstChild.data - 1
        setTimeout ('tick()', 1000)
    } else {
        document.getElementById ('counter').firstChild.data = 'done'
    }
}
if (document.getElementById) onload = function () {
    var t = document.createTextNode (COUNTER_START)
    var p = document.createElement ('P')
    p.appendChild (t)
    p.setAttribute ('id', 'counter')

    var body = document.getElementsByTagName ('BODY')[0]
    var firstChild = body.getElementsByTagName ('*')[0]

    body.insertBefore (p, firstChild)
    tick()
}
</script>

我希望它在这个 div 中显示倒数计数器

<div id="counter"></div>

谢谢 :D

4

2 回答 2

3

您可以innerHTML为此使用:

document.getElementById("counter").innerHTML = /* ... HTML string here ... */;

您可以稍微缩短该脚本:Live Example | 来源

(function() {

    var elm = document.getElementById('counter');
    var counter = 40;

    tick();

    function tick() {
        elm.innerHTML = String(counter);
        --counter;
        if (counter >= 0) {
            setTimeout(tick, 1000); // <=== Note, a function ref, not a string
        }
        else {
            elm = undefined; // Release it as we don't need it anymore
        }
    }

})();

我不确定段落元素的内容是什么,所以我没有包括它。如果它打算在(作为 a ,而不是 a )counter的开头添加元素,那么只需更改bodypdiv

var elm = document.getElementById('counter');

var elm = document.createElement('p');
document.body.insertBefore(elm, document.body.firstChild);

甚至不需要id. 实例| 来源

于 2013-01-12T14:42:23.757 回答
0

要更改 div 的内容,请使用

document.getElementById("counter").innerHTML="something";
于 2013-01-12T14:43:16.597 回答