Необходимо удалить или изменить класс элемента 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'))
})
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть некий html в переменнойНужно найти все ссылки и заменить href каждой по принципу: href первой ссылки - текст первого элемента массива, href второй...
Код ниже в моём понимание присваивает переменной MyTimerProto ссылку на объект у которого есть свой метод tick и прототипом объекта является HTMLElementprototype
К примеру, междуspan1 и
Есть контейнер содержимого в галерее, у него стоят display:flex и justify-content: center, так же у каждого элемента галереи есть эффект появления и исчезновенияВ...