gpt4 book ai didi

在 JavaScript 中调用函数时出现 JavaScript 错误,而在 HTML 中调用函数时则不会出错

转载 作者:行者123 更新时间:2023-11-28 12:17:55 25 4
gpt4 key购买 nike

于是我有了一个想法,用JavaScript作为代码语言,让计算机来猜数字。我确切地知道它必须做什么,但它没有这样做。这个想法是(看看它是否有效)在您打开网页时获取 1 到 100 之间的随机数。奇怪的是,如果我在同一个 JavaScript 文件中调用该函数,则会出现错误,但如果我使用 HTML 按钮调用该函数,它就工作得很好! F12 控制台出现以下错误:

无法设置未定义或空引用的属性“innerHTML”

我有以下代码:

var guessTheNumber = function() {

// var number = prompt("Tell me a number between 1 and 100.");
var x = document.getElementById("JS1");

x.innerHTML = Math.floor((Math.random() * 100) + 1);
}


guessTheNumber();
<!DOCTYPE html>
<html>
<head>
<title>JS test</title>

<script type="text/javascript" src="JavaScript.js"></script>
</head>
<body>
<button onclick="guessTheNumber()"></button>
<p class="test">test</p>
<p id="JS1"></p>
</body>
</html>

我尝试使用 Microsoft Edge 和 Google Chrome 作为浏览器,但没有结果。我不知道我做错了什么,所以感谢任何帮助!

最佳答案

问题在于 javascript 文件是在 DOM 之前加载的,因此 document.getElementById("JS1");将是未定义的。

要轻松解决此问题,请加载 <script><body> 的底部标签:

<!DOCTYPE html>
<html>
<head>
<title>JS test</title>


</head>
<body>
<button onclick="guessTheNumber()"></button>
<p class="test">test</p>
<p id="JS1"></p>

<script type="text/javascript" src="JavaScript.js"></script>
</body>
</html>

关于在 JavaScript 中调用函数时出现 JavaScript 错误,而在 HTML 中调用函数时则不会出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44989634/

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