我是Javascript的初学者。我正在做一些练习,遇到了上面列出的'onclick‘错误。
我在这个论坛上看过其他问题,但它对我没有帮助。我已经在我的html和JS中检查了无数次语法,但什么也找不到!
var item1;
var item2;
var item3;
document.getElementById("changeList").onclick = newList;
function newList() {
item1 = prompt("Enter a new first thing:");
item2 = prompt("Enter a new second thing:");
item3 = prompt("Enter a new third thing:");
updateList();
}
function updateList() {
document.getElementById("firstThing").innerHTML = item1;
document.getElementById("secondThing").innerHTML = item2;
document.getElementById("thirdThing").innerHTML = item3;
}
<html>
<head>
<meta charset="UTF-8">
<title>Javascript Practice</title>
<script src="main.js"></script>
</head>
<body>
<h1 id="myName">Angie</h1>
<hr>
<p id="aboutMe"><em>I am trying to learn this damn javascript and stick with it.</em></p>
<h2>Things I like</h2>
<p>Here are some of the things I like to do:</p>
<ul>
<li id=firstThing>Dance</li>
<li id=secondThing>Write</li>
<li id=thirdThing>Travel</li>
</ul>
<button id="changeList" type="button">Change Your List</button>
</body>
</html>
发布于 2018-06-20 03:35:07
您可以尝试按照lealceldeiro的建议将脚本标记放在页面的底部,也可以在为onclick添加事件侦听器之前等待DOM完全加载,如下所示:
//Replace this line
document.getElementById("changeList").onclick = newList;
//With the following, this fires an event when the DOM has fully loaded
//This will ensure your element has been rendered into the DOM
document.addEventListener("DOMContentLoaded", function(event) {
document.getElementById("changeList").onclick = newList;
});
发布于 2018-06-20 03:44:36
尝试将html行更改为:
<button id="changeList" type="button" onclick = newList();>Change Your List</button>
并从您的JS中删除这一行
document.getElementById("changeList").onclick = newList;
https://stackoverflow.com/questions/50935652
复制相似问题