尽管有onload函数,但替换内部HTML失败

Replacing inner HTML fails despite onload function

本文关键字:替换 内部 HTML 失败 onload 函数      更新时间:2023-09-26

我很少需要做任何Javascript,而且我似乎无法完成最简单的任务。我正在尝试替换两个div中的一个字符串。第一个div被替换,第二个没有找到,并显示错误消息:

drawing.html:20未捕获类型错误:无法设置空的属性"innerHTML"

然而,我尝试了通常的补救措施,将代码放在"onload"函数中,并将脚本放在body标记的末尾。还有什么可能出错?

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="cell1">test<div>
<div id="cell2">test<div>
<script>
window.onload = function() {
  replace();
}
function replace() {
  console.log("replace");
  document.getElementById("cell1").innerHTML = "cell1";
  document.getElementById("cell2").innerHTML = "cell2";
}
</script>
</body>
</html>

只需关闭divs元素。

<html>
<head>
</head>
<body>
<div id="cell1">test</div>
<div id="cell2">test</div>
<script>
window.onload = function() {
  replace();
}
function replace() {
  console.log("replace");
  document.getElementById("cell1").innerHTML = "cell1";
  document.getElementById("cell2").innerHTML = "cell2";
}
</script>
</body>
</html>