我不知道为什么这段代码不添加li元素

时间:2017-11-20 18:03:49

标签: javascript

在控制台中,我未定义,但我无法理解。

JS Fiddle

function createItem(element) {
  var li = document.createElement('li');
  li.innerText = element.value;
  var ul = document.getElementById('todo');
  ul.appendChild(li);

}
var element = document.getElementById("input")
document.getElementById("submit").onclick = createItem;
console.log(element);

2 个答案:

答案 0 :(得分:0)

基于你的小提琴,表单正在提交,为了防止在下面的代码中我使用了event.preventDefault,然后你需要将element参数传递给createItem函数。

function createItem(element) {
    var li=document.createElement('li');
    li.innerText=element.value;
    var ul=document.getElementById('todo');
    ul.appendChild(li);

}

var element = document.getElementById("input");
document.getElementById("submit").onclick=function(e){
  event.preventDefault();
  createItem(element);
};

答案 1 :(得分:-1)

试试这个:)

function createItem(element) {
  var li = document.createElement('li');
  li.innerText = document.getElementById("input").value;
  var ul = document.getElementById('todo');
  ul.appendChild(li);

}
var element = document.getElementById("input")
document.getElementById("submit").onclick = createItem;
console.log(element);
<ul id="todo">
</ul>


<input id="input" >? </input>

<button id="submit" />