document.getElementById()返回null,尽管在$(document).ready中调用

时间:2017-12-08 17:12:07

标签: javascript jquery html

我正在为网页上的秒表工作。我们的想法是,只要你点击一圈,就会有一个div来附加当前时间。但是,当我尝试引用lapLog div时,我从getElementById函数返回null。我知道必须为所有可被发现的元素完全加载页面,这就是为什么我将按钮调用的函数放在$(document).ready块中,但尽管如此它仍然返回null。

相关JavaScript(timer.js):

$(document).ready(function(){
    $('#lapClkBtn').click(function(){
        // Only allow laps to be recorded if the timer is running
        if (ClkTimer.isAlive() == true) {
            var newEntry = ClkTimer.recordLap();
            lapLog = document.getElementById('lapLog');
            lapLog.innerHTML.append(newEntry);
            lapLog.animate({
                scrollTop: lapLog.prop('scrollHeight')
            }, 100);
        }
    });
})
    
function clkTimer(text, updateinterval) {
    this.recordLap = function() {
        this.lapNum = this.lapNum + 1;
        return String(this.lapNum) + "| " + this.formattedTime() + "<br>";
    }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="button" id="lapClkBtn">Lap</button>
<div class="lapLog"></div>

1 个答案:

答案 0 :(得分:4)

您的laplog用作课程。 getElementById按给定的id找到元素,而不是类。将其替换为id

<div id="lapLog"></div>