gpt4 book ai didi

javascript - 未捕获的类型错误 : Cannot set property 'innerHTML' of null

转载 作者:行者123 更新时间:2023-11-28 19:49:12 24 4
gpt4 key购买 nike

我收到此错误:“未捕获类型错误:无法将属性“innerHTML”设置为 null”。我在我的代码中找不到错误。我现在不使用 CSS,也不使用 jQuery。这是我的 HTML 代码:

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!--<script src="js/banner_test_script.js" language="javascript" type="text/javascript"></script>-->
</head>
<body>
<div id="ban"></div>
<script src="js/banner_test_script.js"></script>
</body>
</html>

这是我的 JavaScript 代码:

window.onload = function what()
{
var myTimery = setInterval(function() {
myTimer();
}, 1000);

var imgn = 0;
function myTimer()
{
if (imgn === 0)
{
var d = "../../download.jpg";
imgn++;
}
else if (imgn === 1)
{
var d = "../../images.jpg";
imgn++;
}
else if (imgn === 2)
{
var d = "../../images1.jpg";
resetImgn();
}
var p = '<img src="' + d + '"></img>';
document.getElementById("ban").innerHTML = "lol";
document.writeln(p);
console.log(document.getElementById('ban') + "1");
console.log(document.getElementById("ban") + "2");
}
;

function resetImgn()
{
imgn = 0;
}
;
/*
function myTimer()
{
for (i = 0; i < 200; i++)
{
document.writeln(i);
}
}
;
*/
};

最佳答案

如果您在页面初始解析后使用 document.write (或 document.writeln)(您这样做是因为您在计时器中使用它) ),这会隐式执行一个 document.open 操作,它会完全清除现有页面(并用您编写的内容替换它)。因此,当您尝试查找元素时,它们不再存在。

我不清楚您的 document.writeln(p) 的用途,但如果删除它,您将停止删除您的元素,并且 document.getElementById 应该能够找到它。

如果您的目标是将 p 中的图像标记写入 ban 元素,则:

document.getElementById("bad").innerHTML = p;

...删除 document.writeln 就可以了。

<小时/>

旁注:setInterval 行可以是: var myTimery = setInterval(myTimer, 1000); 函数是一流的对象。

<小时/>

旁注 2:您似乎在 imgn 0、1、2 之间循环,然后又回到 0。执行此操作的逻辑有些复杂。仅供引用,有一个使用 % 运算符的便捷技巧,您可以使用:

imgn = (imgn + 1) % 3;

假设从 0 开始,接下来是 1,然后是 2,然后是 0,然后是 1...

关于javascript - 未捕获的类型错误 : Cannot set property 'innerHTML' of null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23783471/

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