Не используйте один и тот же id
для нескольких элементов, id
всегда должен быть уникальным.
Используйте взамен class
.
<li class="toggle"> ... </li>
Затем вы можете создать массивобъектов в JavaScript для доступа к этим элементам:
let toggle_list = document.querySelectorAll(".toggle");
Затем вы можете использовать цикл for
(или метод forEach
, если хотите быть модным), чтобы назначить прослушиватель событий каждому изих:
for(let i = 0; i < toggle_list.length; i++) {
toggle_list[i].addEventListener("click", toggleClick);
}
Теперь вы можете определить свою функцию toggleClick примерно так:
function toggleClick(e) {
e.target.children[0].classList.toggle("appear");
}
В этом примере children[0]
нацелится на первый элемент внутри <li>
, которыйщелкнул, и этот дочерний элемент не нуждается в отдельном атрибуте class="content"
.Вы можете изменить его на что-то другое, если это не то, что вы хотите (возможно, children[1]
: D).
Дополнительная информация: https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll