Есть такой код HTML
<ul class="list">
<li class="list-item">
<ul class="add-list">
<li class="add-list-item">
<a href="" class="link-1">Ссылка 1</a>
</li>
<li class="add-list-item">
<a href="" class="link-2">Ссылка 2</a>
</li>
<li class="add-list-item">
<a href="" class="link-3">Ссылка 3</a>
</li>
</ul>
</li>
<li class="list-item">
<ul class="add-list">
<li class="add-list-item">
<a href="" class="link-1">Ссылка 1</a>
</li>
<li class="add-list-item">
<a href="" class="link-2">Ссылка 2</a>
</li>
<li class="add-list-item">
<a href="" class="link-3">Ссылка 3</a>
</li>
</ul>
</li>
</ul>
Как будет правильно написать скрипт, чтобы при клике на ссылку с классом .link-3 только к родительскому li.list-item добавлялся класс .new-class, а при повторном клике класс .new-class убирался? Буду благодарен за помощь!
let li = document.getElementsByClassName('list-item');
for (let i of li) {
i.addEventListener('click', function(e) {
if (e.target.classList.contains('link-3')) this.classList.toggle('new-class');
})
}
.new-class a {
color: red;
}
<ul class="list">
<li class="list-item">
<ul class="add-list">
<li class="add-list-item">
<a href="#" class="link-1">Ссылка 1</a>
</li>
<li class="add-list-item">
<a href="#" class="link-2">Ссылка 2</a>
</li>
<li class="add-list-item">
<a href="#" class="link-3">Ссылка 3</a>
</li>
</ul>
</li>
<li class="list-item">
<ul class="add-list">
<li class="add-list-item">
<a href="#" class="link-1">Ссылка 1</a>
</li>
<li class="add-list-item">
<a href="#" class="link-2">Ссылка 2</a>
</li>
<li class="add-list-item">
<a href="#" class="link-3">Ссылка 3</a>
</li>
</ul>
</li>
</ul>
let linkItem = document.querySelectorAll('.list-item');
for (let i = 0; i < linkItem.length; i++) {
linkItem[i].addEventListener('click', function(event) {
event.preventDefault();
var target = event.target;
if (target.className === 'link-3') {
this.classList.toggle('active');
}
});
}
.active {
border: 1px solid #f00;
}
<ul class="list">
<li class="list-item">
<ul class="add-list">
<li class="add-list-item">
<a href="" class="link-1">Ссылка 1</a>
</li>
<li class="add-list-item">
<a href="" class="link-2">Ссылка 2</a>
</li>
<li class="add-list-item">
<a href="" class="link-3">Ссылка 3</a>
</li>
</ul>
</li>
<li class="list-item">
<ul class="add-list">
<li class="add-list-item">
<a href="" class="link-1">Ссылка 1</a>
</li>
<li class="add-list-item">
<a href="" class="link-2">Ссылка 2</a>
</li>
<li class="add-list-item">
<a href="" class="link-3">Ссылка 3</a>
</li>
</ul>
</li>
</ul>
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости