未捕获的类型错误:无法设置 null 的属性“innerHTML”:(

时间:2021-01-19 13:31:34

标签: javascript

我认为代码 100% 正常,但为什么我得到了那个错误????: 未捕获的类型错误:无法设置 null 的属性“innerHTML”||

代码是:

<!DoCTYPE html>
<html lang="eng">
<head>
    <meta charset ="utf-8">
    <meta name="" content="">
    <title></title>
    <script>
        function myAgeInDays() {
        
        "use strict";
        
        var myAge = 15;
        
        return myAge * 365;
    
    }
    
    var daysCalc = myAgeInDays();
    
    document.getElementById("test").innerHTML =
    
        "Your Age In Days = "+ daysCalc+ " Day";
    </script>
</head>

<body>
    <button onclick="myinfo();">OK</button>
    <h1 id="test">Ok</h1>
</body>
    
</html>

1 个答案:

答案 0 :(得分:2)

可以做一些事情来改善这个问题:

提供一些上下文,而不是控制台打印出的错误

特别是在非常常见的 js 错误的情况下。您的情况的一个示例可能是“在表单提交中无法选择 html 元素/选择器在 onclick 函数中为空”。

陈述一些你尝试过的事情

这将帮助您成长为一名开发者(旧的教人钓鱼故事)

这里还有一些提示:https://stackoverflow.com/help/how-to-ask

在您的情况下,您发布的代码不起作用(未定义 myinfo)并且您的代码位于创建 <head> 之前定义的 <p> 中。将其添加到正文的末尾以确保创建所有元素。如果你想让一个函数处理你的 中包含逻辑的按钮点击,你会写这样的:

<body>
  <button id="calcDays">OK</button>
  <h1 id="test">Ok</h1>
  <script type="text/javascript">
    document.getElementById('calcDays')
      .addEventListener('click', function () {
          function myAgeInDays(days) {
            return days * 365;
          }

          document.getElementById("test").textContent =
            `Your Age In Days = ${myAgeInDays(15)} Days`;
      });
  </script>
</body>

相关问题