Необходимо удалить или изменить класс элемента li по клику на него. На чистом js
Пример списка:
Для работы с классами элементов (nodes) существует свойство classList с доступными методами для добавления, изменения, удаления классов элемента.
// Выбираем все элементы с классом `.todo__link`,
// по которым будут выполняться щелчки.
const LINKS = document.querySelectorAll('.todo__link')
function toggleTodo(event) {
// Отменяем действие по умолчанию.
event.preventDefault()
// Элемент по которому был выполнен щелчок.
let target = event.target
// Нас интересует родитель элемента с классом `li.todo`
let item = target.closest('li.todo')
// Если элемент найден, то:
if (item) {
// добавляем/удаляем класс у элемента `li.todo`.
item.classList.toggle('done')
}
}
// Добавляем ко всем ссылкам функцию обработчик для события `click`.
LINKS.forEach(function(link) {
link.addEventListener('click', toggleTodo)
})
.todo__link {
color: #08c;
text-decoration: none;
}
.done {
text-decoration: line-through;
}
<ul class="todos">
<li class="todo"><a href="#" class="todo__link">Задача #1</a></li>
<li class="todo"><a href="#" class="todo__link">Задача #2</a></li>
<li class="todo"><a href="#" class="todo__link">Задача #3</a></li>
<li class="todo"><a href="#" class="todo__link">Задача #4</a></li>
</ul>
Укороченный вариант решения:
document.querySelectorAll('.todo')
.forEach((item) => {
item.addEventListener('click', () => item.classList.toggle('done'))
})
Сборка персонального компьютера от Artline: умный выбор для современных пользователей