0

こんにちは、JavaScript の結果を div に表示するにはどうすればよいですか。コードは次のとおりです。

<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 ... */;

そのスクリプトをかなり短くすることができますソース

(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
        }
    }

})();

段落要素の内容がわからなかったので、それを含めませんでした。(のではなく、として)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 に答える