Javascript隐藏div和show

Javascript隐藏div和show,javascript,jquery,html,css,show,Javascript,Jquery,Html,Css,Show,我正在做一个小测验,我想在没有人问的时候隐藏问题。但是我不断得到错误UncaughtTypeError:无法读取null的属性'style' document.getElementById(“score”).style.display=“无” 尝试隐藏时,请确保元素位于DOM中 document.onreadystatechange = () => { if (document.readyState === 'complete') { // document ready

我正在做一个小测验,我想在没有人问的时候隐藏问题。但是我不断得到错误UncaughtTypeError:无法读取null的属性'style'

document.getElementById(“score”).style.display=“无”

尝试隐藏时,请确保元素位于DOM中

document.onreadystatechange = () => {
  if (document.readyState === 'complete') {
    // document ready
    document.getElementById("score").style.display = "none";
  }
}

这一行应该在html元素分数之后

document.getElementById("score").style.display = "none";
或者将此行放在函数中,并在html加载后调用它
或者按照@arpad的回答,在文档中做好准备。


<!doctype html>
<html>
   <head>
     <title>Solve Type Error</title>
   </head>
   <body>
     <div id="score">
       <div class="form-group">
          <div class="col-sm-offset-2 col-sm-10">   
           <input type="text" name="textfield" id="textscore">
          </div>
       </div>
     </div>

     <script>
        document.getElementById("score").style.display = "none";
     </script>
 </body>
</html>
解决类型错误 document.getElementById(“score”).style.display=“无”;
当您试图隐藏id为
score
的元素时,该错误意味着该元素不在DOM中。在页面准备就绪之前,您可能正在运行代码。尝试将
块放在
标记的正前方,确保在加载DOM后调用javascript。如果您的javascript位于文档的部分,请将其移动到文档的底部,或使用DOMContentLoaded事件或jQuery的document.ready()方法。@Rorymcrossan为什么将答案作为注释发布?我本来想投更高的票@PDXIII哈哈:)我只是把它作为评论发布,因为这不是一个具体的答案。当然,这很可能是问题所在,但OP并没有给我们足够的信息来说明问题certain@RoryMcCrossan您的评论是正确的,谢谢。这应该可以解决错误。如果您没有使用外部链接js文件,那么脚本标记应该位于body标记内。