javascript - 未捕获的类型错误:无法将属性“innerHTML”设置为 null :(
问题描述
我认为代码 100% 正常,但为什么我得到那个错误????:未捕获的类型错误:无法设置属性 'innerHTML' of null||
代码是:
<!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>
解决方案
可以做一些事情来改善这个问题:
给出一些上下文,而不是控制台打印出的错误
尤其是在非常常见的 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>
推荐阅读
- laravel - 如何修复“方法 Illuminate\Database\Schema\Blueprint::class 不存在。”
- python - 使用while循环从函数返回变量
- mysql - The syntax of this MySQL logic?
- laravel-5 - 使用 swagger 在 laravel 中出现错误 419(未知状态)
- python - 使用 pymc3 对 MCMC 进行采样时,如何在可能性上添加 L1 正则化?
- web - 如何在 Weblogic 12.1.1 中导出数据源
- c - 如何使用 ## 运算符连接和评估宏
- php - PHP只更改ini文件中的一个值
- javascript - 分配给这个 javascript 工厂的参数是什么?
- batch-file - 如何将一行代码发送到另一个批处理文件中,该行中有一个特殊字符