gpt4 book ai didi

javascript - 嵌套的 div 和 'cannot set property ' innerHTML' of null' 错误

转载 作者:行者123 更新时间:2023-11-30 12:03:34 24 4
gpt4 key购买 nike

此错误通常是由于在 DOM 完全加载之前引用了元素。因此,我已确保仅在窗口加载后运行所需的脚本。

有趣的是,如果 getElementById() 调用是针对独立的 <div> ,即非嵌套 <div> , innerHTML 按需要执行。因此,这表明所有必需的命名约定等都是正确的。

代码:

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">

(function(window, document, undefined) {
window.onload = function() {
google.charts.load('current', {
packages:['corechart'],
callback: drawChart
});

function drawChart() {

var div1 = document.getElementById('div1');
div1.innerHTML = 'DIV1';

var div1_header = document.getElementById('div1_header');
div1_header.innerHTML = "DIV1 HEADER";
}
};
})(window, window.document);

</script>

</head>
<body>
<div class="div" id="div1">
<div class="div_header" id="div1_header"></div>
</div>
<body>

如上所述,如果我将代码修改为以下,它会按预期工作:

<div class="div" id="div1"></div>
<div class="div_header" id="div1_header"></div>

嵌套 div1_header 的事实怎么会导致“空”错误?

最佳答案

以下行将 div1 的 innerHTML 替换为“DIV1”。

div1.innerHTML = 'DIV1';

因此,当您尝试设置其 innerHTML 时,div1_header 不再存在。

关于javascript - 嵌套的 div 和 'cannot set property ' innerHTML' of null' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35978321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com