【发布时间】:2018-11-06 03:16:34
【问题描述】:
我正在构建一个 JavaScript 待办事项列表,其中包含一个将输入值推送到数组中并将值和删除按钮附加到列表元素的函数。我已经实现了一个删除功能,经过反复试验并研究了该站点上的其他类似演示,似乎初始表达式“var lastid = 0”和增量表达式“lastid=+1”都可以点击特定的按钮以导致删除特定列表项。否则,如果没有该表达式,单击特定列表项的删除按钮会导致删除数组列表中最上面的项,而不是我要定位的项。有人可以向我解释一下初始表达式“var lastid = 0”和增量表达式“lastid=+1”是什么使删除函数能够针对特定的ID?
JS:
var array = [];
var lastid = 0;
function add(){
var task = document.getElementById("task").value;
array.push(task);
var text = document.createTextNode(task);
var li = document.createElement("li");
li.setAttribute('id','task'+lastid);
var btn = document.createElement("button");
btn.appendChild(document.createTextNode("x"));
btn.setAttribute('onClick','remove("'+'task'+lastid+'")');
li.appendChild(text);
li.appendChild(btn);
lastid=+1;
document.getElementById("myUl").appendChild(li);
};
function remove(itemid){
var task = document.getElementById(itemid);
document.getElementById("myUl").removeChild(task);
}
HTML:
<input id="task">
<button onclick="add()">add</button>
<ul id="myUl"></ul>
【问题讨论】:
标签: javascript arrays list function