评论中的问题已解决。谢谢大家!
我只是开始学习JavaScript并开始弄清楚DOM的工作原理。但是当我尝试将userinput(存储在var中)值附加到列表的末尾时,我会得到“未定义”,尽管所有内容都可以使用文字。
据我了解,这意味着变量中没有存储任何值,但是我目前正在观看的JS课程的作者几乎具有相同的代码,但是一切正常。我试图重新定义ID /类名对于变量,请使用字符串而不是变量进行测试(一切正常),并使代码与作者相同,但仍然会给我同样的错误。
var button = document.getElementById("button");
var modify_list = document.getElementsByClassName("userinput");
var ul = document.querySelector("ul");
button.addEventListener("click", function(){
console.log(modify_list.value);
var li = document.createElement("li");
li.appendChild(document.createTextNode(modify_list.value));
ul.appendChild(li);
})
<!DOCTYPE html>
<html>
<head>
<title>DOM</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<h1>What plans do I have till the end of the summer?</h1>
<p>They are:</p>
<input type="text" name="add activities" class="userinput" placeholder="add activities">
<button id="button">Send</button>
<ul>
<li>Learn German</li>
<li>Learn Japanese</li>
<li>Learn Java Script</li>
<li>Physical activities</li>
</ul>
<script type="text/javascript" src="script.js"></script>
</body>
</html>
答案 0 :(得分:-3)
诠释输入尝试添加value =“”。 //空值 如果不是,请尝试通过id而不是class的get元素获取值,以查看问题是否存在。 问候。