0

嘿,伙计们再次在 JavaScript 上做这个教程。我注意到,当我单击按钮时,在输入新项目后看不到任何文本。你们有谁知道为什么。边框在我的 CSS 中,所以我知道它正在输入,无论如何这是我的代码。

<!doctype html>
<html>
    <head>

    <title>To do list with html and javascript</title>
    <style>
    ul { list-style: none; padding: 0; margin: 0; width: 400px;}
    li { border: 4px solid #ccc; background: #eee; padding: 10px 15px; color: #000; }
        </style>
    </head>
    <body>
<h1>To Do List</h1>
<p><button id="btnAdd">click here!</button></p> 

<ul id="todolist">
</ul>

</ul>


<script src="todo.js"></script>
    </body>
</html>

function addNewItem(list, itemText){
    var listItem = document.createElement("li");
    listItem.innerText = "itemText";


    list.appendChild(listItem);
}


var btnNew= document.getElementById("btnAdd");
btnNew.onclick = function() {
    var itemText = prompt("what is your task?")
    addNewItem(document.getElementById("todolist"), itemText);
};
4

4 回答 4

4
listItem.innerText = "itemText"; // This is a string

应该

listItem.innerText = itemText; // This is the parameter

您似乎还有一个额外的</ul>结束标签。

于 2013-08-16T21:32:25.403 回答
0

addNewItem 方法中的 itemText 不应包含在引号中。

listItem.innerText = itemText;
于 2013-08-16T21:35:30.563 回答
0

您的 html 标记被错误地张贴。那里有一个额外的ul

更多的 js 代码必须是这样的:

function addNewItem(list, itemText){
    var listItem = document.createElement("li");
    listItem.innerText = itemText;
    list.appendChild(listItem);
}

var btnNew= document.getElementById("btnAdd");
btnNew.onclick = function() {
    var itemText = prompt("what is your task?")
    addNewItem(document.getElementById("todolist"), itemText);
};

接下来在这个小提琴中找到工作解决方案:http: //jsfiddle.net/LRyKd/1/

当你给itemTextas'itemText'然后 itemText 变成一个字符串,并且这个常量字符串被附加而不是你输入的文本。这就是为什么它不适合你。

于 2013-08-16T21:36:02.833 回答
0

非常简单的错误状态删除第二个 /ul

于 2013-08-16T21:42:18.353 回答