Я создаю список задач JavaScript с помощью функции, которая помещает входное значение в массив и добавляет значение и кнопку удаления к элементу списка. Я реализовал функцию удаления, и после проб и ошибок и изучения других подобных демонстраций на этом сайте выяснилось, что как исходное выражение «var lastid = 0», так и выражение приращения «lastid = + 1» позволяют щелкнуть конкретный кнопку, чтобы удалить определенный элемент списка. В противном случае, без этого выражения, нажатие кнопки удаления для определенного элемента списка приведет к удалению самого верхнего элемента в списке массива вместо элемента, на который я нацелен. Может ли кто-нибудь объяснить мне, что такое начальное выражение «var lastid = 0» и выражение приращения «lastid = + 1», которые позволяют функции удаления нацеливаться на конкретный идентификатор?
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 [JS]](https://i.imgur.com/WsjO6zJb.png)


Маленькая ошибка. «lastid = + 1» - это не приращение, а операция присваивания. Вы присваиваете последнему значение «+1». Допускается ставить знак перед числовыми значениями.
Если вы хотите увеличить, вы должны использовать оператор увеличения "lastid + = 1"
Другой вариант. Если вы хотите удалить текущий элемент без увеличения идентификатора элемента, вы можете получить текущий элемент из глобального объекта this.event. Например, вы можете изменить функцию удаления следующим образом:
function remove(){
var task = this.event.currentTarget.parentNode;
document.getElementById("myUl").removeChild(task);
}
Спасибо за ответ! Думаю, я хотел добавить last + = 1, а не наоборот, спасибо, что указали на это. Без этого оператора приращения нажатие кнопки удаления (например) элемента №4 списка приводит к удалению самых верхних элементов в списке. Итак, что такое оператор инкремента, который позволяет нацеливать конкретный элемент?