저는 데이터베이스에서 얻은 목록을 동적으로 렌더링하기 위해 PHP를 사용하고 있습니다. 각 목록은 동일한 클래스를 가지며 변경할 수 없기 때문에 동적으로 렌더링됩니다. JavaScript를 통해 이러한 클래스를 선택하고 클릭 시 이벤트를 생성하여 숨겨진 클래스를 사용하여 클래스를 열고 닫습니다.
이제 문제가 생겼습니다. 이 이벤트는 저에게 효과적이며 첫 번째 렌더링된 목록에만 반응하고 다른 목록에는 반응하지 않습니다. 이를 수행할 수 있는 방법이 있습니까? querySelectorAll 및 getElementsByClassName 및 기타 선택기를 시도했지만 아무것도 작동하지 않습니다. PHP 코드:
으아악자바스크립트 코드:
으아악다음은 템플릿입니다: 주형 여기에 이미지 설명을 입력하세요
querySelectorAll()
而不是querySelector()
를 사용해야 합니다.이 방법을 사용하면 첫 번째로 일치하는 요소 대신 모든 요소를 타겟팅하게 됩니다. 그런 다음 각 이벤트를 반복하고 다음과 같이 이벤트 리스너를 추가해야 합니다.
으아악첫 번째
만 선택하세요..likarton
实例 - 这是通过使用querySelectorAll()
고정addEventListener
을 사용하고 있으므로 콜백에서 매개변수로 클릭한 정확한 항목을 가져옵니다.이 기능을 사용하는 올바른 JavaScript는
입니다.addEventListener('click', (event) => {})
이벤트 핸들러를 트리거한 요소를 참조하려면
를 사용할 수 있습니다.event.currentTarget
이후에는
을 사용하여 div를 선택하고 클래스 목록을 수정할 수 있습니다..classList.*
예
으아아아참조: