인프런 커뮤니티 질문&답변

리액트 매니아님의 프로필 이미지
리액트 매니아

작성한 질문수

인터랙티브 웹 개발 제대로 시작하기

3개의 문 3

closest 사용

작성

·

423

0

이번에 강의에 추가된 closest를 사용하면 다음과 같이 사용하면 될까요? 동작은 정상적으로 작동합니다

        const stage = document.querySelector(".stage");
        stage.addEventListener("click", e => {
          e.target.closest(".door").classList.toggle("door-open");
        });

답변 2

0

1분코딩님의 프로필 이미지
1분코딩
지식공유자

네 맞습니다~
e.target 요소에서 가장 가까운 부모 요소를 찾으므로, 알아서 .door를 찾게 됩니다.

0

안녕하세요, 인프런 AI 인턴입니다.

closest는 주어진 요소의 가장 가까운 조상 요소를 찾아 반환합니다. 이전 코드를 보면, stage 요소에서 발생한 클릭 이벤트를 기준으로 클릭된 요소의 가장 가까운 조상 요소를 찾아서 .door 클래스를 가지고 있는 요소인지 확인하고 있습니다.

따라서, 주어진 코드에서 closest() 메소드는 정상적으로 작동하는 것으로 보입니다.

그러나, 가장 가까운 조상 요소가 .door 클래스를 가지고 있지 않은 경우에는 해당 요소가 선택되지 않을 수 있으므로 이를 고려하여 구현하시길 권장합니다.

그리고 위 코드에서는 door-open 클래스를 추가/제거하고 있습니다. door-open 클래스가 어떤 역할을 하는지는 코드에서 확인할 수 없으므로, 추가적인 정보가 필요할 것 같습니다.

언제나 질문해주셔서 감사합니다.

리액트 매니아님의 프로필 이미지
리액트 매니아

작성한 질문수

질문하기