innerHTML为null错误

时间:2018-05-21 18:59:02

标签: javascript

使用console.log我可以看到来自其他网页的价值,但是当我使用document.getElementById('abc').innerHTML = xyz.age;放置此值时,它会给我Uncaught TypeError: Cannot set property 'innerHTML' of null错误

我的JS

xyz = JSON.parse(sessionStorage.getItem("details"));
document.getElementById('abc').innerHTML = xyz.age; //getting error from here
console.log(xyz.age);

你能帮我解决吗?

2 个答案:

答案 0 :(得分:1)

此示例使用您的代码,您可能在dom完全加载之前执行脚本?尝试将代码包装在document.addEventListener("DOMContentLoaded")

document.addEventListener("DOMContentLoaded", function() {
  // code...
});

document.addEventListener("DOMContentLoaded", function() {
  xyz = { age: 24 }; // Mock data from localstorage
  document.getElementById('abc').innerHTML = xyz.age;
  console.log(xyz.age);
});
<div id="abc"></div>

答案 1 :(得分:-1)

问题不在于xyz,而在于document.getElementById(&#39; abc&#39;)。 &#39; ABC&#39;脚本执行时找不到,元素不存在,或者文档准备好之前脚本正在运行。

如果是后者,则可能需要在加载文档后在回调函数中执行脚本。见https://www.w3schools.com/jsref/event_onload.asp