This question already has answers here:
Why does jQuery or a DOM method such as getElementById not find the element?
(7个答案)
5个月前关闭。
我试图在按下按钮时执行alert(“ clicked”),但是我无法在Visual Studio代码上使它起作用,它仅在Codepen上起作用。我使用称为“在浏览器中打开”的扩展名在Visual Studio代码中运行index.html。
我尝试将代码复制到Codepen并成功
我希望它显示“已单击”,但是当我单击按钮时它什么也没做。
(7个答案)
5个月前关闭。
我试图在按下按钮时执行alert(“ clicked”),但是我无法在Visual Studio代码上使它起作用,它仅在Codepen上起作用。我使用称为“在浏览器中打开”的扩展名在Visual Studio代码中运行index.html。
我尝试将代码复制到Codepen并成功
<html>
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<h1>Random dog Pictures</h1>
<img id = "photo" src = "https://i.pinimg.com/originals/68/6d/6f/686d6fc9d01def6b6f63acded53479bc.jpg" alt = "">
<button id = "btn">Get Random Dog Photo!!!</button>
</div>
<script src="randomDogPicture.js"></script>
</body>
</html>
var btn = document.querySelector("#btn");
btn.addEventListener("click", function() {
alert("clicked");
});
我希望它显示“已单击”,但是当我单击按钮时它什么也没做。
最佳答案
DOM完全加载之前,您的脚本可能正在运行。您可以将代码放在正文的底部,也可以用DOMContentLoaded
包装代码:
<script>
document.addEventListener('DOMContentLoaded', (event) => {
var btn = document.querySelector("#btn");
btn.addEventListener("click", function() {
alert("clicked");
});
});
</script>
<div class="container">
<h1>Random dog Pictures</h1>
<img id = "photo" src = "https://i.pinimg.com/originals/68/6d/6f/686d6fc9d01def6b6f63acded53479bc.jpg" alt = "">
<button id = "btn">Get Random Dog Photo!!!</button>
</div>
09-21 00:03