Как заставить кнопку удаления и завершить работу кнопок на Javascript списка ToDO - PullRequest
0 голосов
/ 14 февраля 2019

Я создаю список дел в Javascript, и я не уверен, как заставить работать мои кнопки удаления / завершения.Когда я нажимаю кнопку «Удалить», я хочу, чтобы она удалила li, а когда я нажимаю кнопку «Завершить», я хочу, чтобы фон li сменился на фон с # 51DF70.До сих пор, когда я нажимаю мои кнопки удаления / завершения, это предупреждает меня, так что я знаю, что они работают

, это мой код и мой Codepen , если это помогает

var input = document.getElementById('userInput');
var enterButton = document.getElementById('enter');
var deleteButtons = document.getElementsByClassName("Remove");
for (var i = 0; i < deleteButtons.length; i++) {
  deleteButtons[i].addEventListener('click', deleteListItem, false);
}

var completeButtons =
  document.getElementsByClassName("Complete");
for (var i = 0; i < completeButtons.length; i++) {
  completeButtons[i].addEventListener('click', completeListItem, false);
}
var ul = document.querySelector('ul');

function inputLength() {
  return input.value.length;
};

function listLength() {
  return item.length;
}

function createListElement() {
  var li = document.createElement('li');
  li.appendChild(document.createTextNode(input.value));
  //makes text node 

  var clonedButton =
    document.getElementById("buttons").cloneNode(true);
  clonedButton.childNodes[1].addEventListener('click', deleteListItem, false);
  clonedButton.childNodes[3].addEventListener('click', completeListItem, false);

  li.appendChild(clonedButton);
  ul.appendChild(li);
  input.value = "";

}

function deleteListItem() {
  alert("Yuh");
  // li.classList.add("delete");
}

function completeListItem() {
  alert("Item was completed");
  li.classLi

}

function addListAfterClick() {
  if (inputLength() > 0) {
    createListElement();
  }
}
// Hit enter key and create list
function addAfterPress(event) {
  if (inputLength() > 0 && event.which === 13) {
    createListElement();
  }
}

enterButton.addEventListener('click', addListAfterClick);
input.addEventListener('keypress', addAfterPress);

1 Ответ

0 голосов
/ 14 февраля 2019

li - это родительский узел кнопок удаления и завершения (родительский элемент - клон buttons).Итак, вы хотите:

function deleteListItem() {
  var li = this.parentNode.parentNode;
  li.remove();
}

function completeListItem() {
  var li = this.parentNode.parentNode;
  li.classList.add("Complete");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...