为啥我无法在文档上设置 innerHTML? [复制]
Posted
技术标签:
【中文标题】为啥我无法在文档上设置 innerHTML? [复制]【英文标题】:Why am I unable to set innerHTML on the document? [duplicate]为什么我无法在文档上设置 innerHTML? [复制] 【发布时间】:2021-09-01 08:17:01 【问题描述】:我正在尝试创建一个您单击的按钮,它将计算用户的年龄,而我的 javascript 代码将使用 innerhtml 将用户的年龄写入文档本身。我不明白为什么它不起作用。我没有得到任何回应,甚至没有错误。
这是我的 JavaScript:
let btn = document.getElementById("btn");
btn.addEventListener('click',howOldAreYou)
function howOldAreYou()
let age= document.getElementById("year").value
let currentYear = 2021
let howOld= currentYear - age;
document.innerHTML= howOld;
【问题讨论】:
Documents 没有innerHTML
属性。创建一个是没有意义的。
Duplicate of javascript document.innerHTML set content of whole document。
【参考方案1】:
您正在寻找document.body.innerHTML
或document.documentElement.innerHTML
。
document
不是元素,因此没有innerHTML
属性。
【讨论】:
@carringtonCodes 如果有帮助,请考虑接受! :) How do I accept an answer?【参考方案2】:我认为问题在于你没有正确使用innerHTML元素属性,它应该是yourElementId.innerHTML
而不是document.innerHTML
试试这个:
btn.addEventListener('click',function()
let age = document.getElementById("year").value;
let currentYear = 2021;
let howOld = currentYear - age;
result.innerHTML = howOld;
);
<button id="btn">Calculate</button>
<input id="year"/>
<div id="result"></div>
【讨论】:
以上是关于为啥我无法在文档上设置 innerHTML? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
未捕获的类型错误:无法将属性“innerHTML”设置为 null
当通过 innerHTML 添加元素时,为啥我的动画会“重播”?