Показать сообщение отдельно
  #4 (permalink)  
Старый 09.10.2019, 17:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112


если id нужен
<!DOCTYPE html>

<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">

</head>

<body>
<ul class="todos"></ul>
<input type="text" class="todotext">
<button class="addtodo">add todo</button>
<script>
    let todos = [], id = 0;
    const todosEl = document.querySelector('.todos');
    const todoTextEl = document.querySelector('.todotext');
    const update = () => {
        todosEl.innerHTML = todos.map((todo,i)=> `<li>${todo.id} - ${todo.text} <button data-todo-id=${i}>x</button></li>`).join('')
    }
    document.querySelector('.addtodo').addEventListener('click', () => {
        todos.push({
           text: todoTextEl.value,
           id : id++
        })
        todoTextEl.value = ''
        update()
    })

    todosEl.addEventListener('click', ({target}) => {
        target = target.closest('[data-todo-id]');
        if(target){
           todos.splice(target.dataset.todoId, 1);
           update()
        }
    })
</script>

</body>
</html>
Ответить с цитированием