将删除按钮附加到数组列表项

时间:2018-11-06 03:16:35

标签: javascript arrays list function

我正在构建一个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>

1 个答案:

答案 0 :(得分:0)

小错误。 “ lastid = + 1”不是增量而是分配操作。您分配给lastid值“ +1”。 允许在数字值之前添加符号。

如果要递增,则应使用递增运算符“ lastid + = 1”

其他选项。 如果要删除当前项目而不增加元素ID,则可以从全局对象“ this.event”获取当前元素。 例如,您可以通过以下方式修改删除功能:

 holder1.setWalletAmountView("$"+ Double.valueOf(walletBalance).toString());