javascript - 使用 Javascript 将输入值附加到列表。待办事项

标签 javascript html

我正在尝试制作一个待办事项列表。不太确定为什么我的代码不起作用。尝试从添加项目输入到待办事项 ul 中获取值。

HTML

<body>
<div class = 'container'>
<h3> Add Item </h3>
<input id='newTask' type='text'> <button id='addTaskButton'> Add </button>

<h3> To-Do </h3>
<ul id='toDo'>
<li> <input type='checkbox'<label> Learn Javascript </label> <button class='delete'> Delete </button> </li>
</ul>

<h3> Completed </h3> 
<ul id='completedTasks'>
<li> <input type='checkbox' checked> <label> Buy Peanut Butter </label> <button class='delete'> Delete </button> </li>
</ul>

</div>
<script src = "todolist.js" type="text/javascript"></script>
</body>

Javascript

var taskInput = document.getElementById('newTask');
var addTaskButton = document.getElementById('addTaskButton');
var incompleteTasks = document.getElementById('toDo');
var completedTask = document.getElementById('completedTasks');

var addTask = function () {
    var text = taskInput.value;
    var li = '<li>' + text + '<li>';
    incompleteTasks.appendChild(li);

}

addTaskButton.onclick = addTask;

非常感谢任何帮助。 谢谢

最佳答案

appendChild接受 DOMElement,而不是字符串。您需要先创建一个元素,然后附加它:

var addTask = function () {
    var text = taskInput.value;
    var li = document.createElement('li');
    li.innerHTML = text;
    incompleteTasks.appendChild(li);
}

演示:http://jsfiddle.net/6wbsujL5/

关于javascript - 使用 Javascript 将输入值附加到列表。待办事项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26688323/

相关文章:

javascript - 未检测到数组中值的更改

javascript - IE7 将两个按钮保持在同一行的问题

html - 如何从 float 图像中删除多余的边距底部?

html - 将 css 应用于具有相同模式的元素

html - 跨度外的文本,从跨度轮廓偏移

javascript - 如何获取所有突出显示的元素

javascript - 'appendBuffer'上执行 'SourceBuffer'失败 : The HTMLMediaElement. 错误属性不为空

javascript - 跨网络应用程序和 Chrome 扩展程序共享本地存储对象

html - 为什么透视不起作用?

html - 将 Django 模板与 Div 导航栏链接起来