我正在构建一个JavaScript待办事项列表,其功能是将输入值推入数组并将该值和一个remove按钮附加到list元素。我已经实现了删除功能,经过反复试验并在此站点上研究了其他类似的演示,似乎初始表达式“ var lastid = 0”和增量表达式“ lastid = + 1”都可以单击特定的按钮以删除特定的列表项。否则,如果没有该表达式,则单击特定列表项的删除按钮将导致删除数组列表中最上面的项目,而不是我要定位的项目。有人可以向我解释一下初始表达式“ var lastid = 0”和增量表达式“ lastid = + 1”是什么,这些表达式使remove函数可以定位特定的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>
答案 0 :(得分:0)
小错误。 “ lastid = + 1”不是增量而是分配操作。您分配给lastid值“ +1”。 允许在数字值之前添加符号。
如果要递增,则应使用递增运算符“ lastid + = 1”
其他选项。 如果要删除当前项目而不增加元素ID,则可以从全局对象“ this.event”获取当前元素。 例如,您可以通过以下方式修改删除功能:
holder1.setWalletAmountView("$"+ Double.valueOf(walletBalance).toString());