为什么用户输入显示为“未定义”?

时间:2019-07-25 11:01:39

标签: javascript html

评论中的问题已解决。谢谢大家!

我只是开始学习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>

1 个答案:

答案 0 :(得分:-3)

诠释输入尝试添加value =“”。 //空值 如果不是,请尝试通过id而不是class的get元素获取值,以查看问题是否存在。 问候。