Javascript错误:e​​lement为null

时间:2014-05-22 17:54:56

标签: javascript console

以下是我的所有代码......内联JavaScript警报启动很顺利,但外部警报却没有。每当我重新加载页面时,我都会收到一个控制台错误日志,说#34; TypeError:tileBlock为null" ..有什么想法吗?我还没有遇到过这个问题,而且我不想被迫编写所有内联的Javascript事件处理程序。谢谢!

#tileBlock {
    position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: #0b0b0b;
        background-position: center;
        background-repeat: no-repeat;
        background-image: url(photo.jpg);
        border: 20px solid #fff;
        background-size: cover;  
    }

    @media (max-width: 400px) {
      #tileBlock {
        border-width: 8px;
      }
    }


<body>
  <div class="wrapper" id="tileBlock" onclick="alert('You clicked (inline)')"></div>
</body>




var tileBlock = document.getElementById('tileBlock');
tileBlock.onclick = function() {
    alert('you clicked(external script)');
}

3 个答案:

答案 0 :(得分:1)

包含jquery库并尝试:

  $('#tileBlock').onclick(function(){
     alert('you clicked(external script)');
  });

此外,我已经尝试过你的代码并且它有效。(不是我的jquery) 试试这个:http://jsfiddle.net/XcsN/evK3v/

答案 1 :(得分:0)

我只需要一个window.onload ...谢谢大家的帮助!

window.onload=function(){
var tileBlock = document.getElementById('tileBlock');
tileBlock.onclick = function() {
    alert('you clicked yes');
}
};

答案 2 :(得分:0)

之前不需要窗口,因为它已被保留

onload=()=>{
    let elem // etc..
    elem.onclick=()=> // stuff ..
}

fiddle