제목에서 알 수 있듯이 특정 ID 또는 CSS 클래스가있는 요소가 DOM에 삽입 될 때 정확한 타임 스탬프를 감지하고 싶습니다 (그리고 제거되었을 때도 감지 할 수 있습니다). 가장 확실한 방법은 발견하고자하는 요소의 ID가 document.getElementById
인 문서를 주기적으로 폴링하는 것입니다. 그러나이 방법은 정확하지 않으며 탐지하려는 요소가 여러 개인 경우 매우 집중적으로 처리 할 수 있습니다.특정 ID를 가진 요소가 DOM에 삽입 될 때 가장 효율적인 방법은 무엇입니까
나는 Mutation Events과 Mutation Observers을 살펴 봤지만 요소가 삽입되거나 제거되었는지 감지하기 위해 루트 DOM 요소에 수신기를 추가해야하는데 이는 성능에 크게 영향을 미칠 수 있습니다. 요소가 페이지에 삽입되거나 제거 될 때마다 추가 JS를 실행해야합니다.
알고 있지 않은 더 최적화 된 솔루션이 있습니까? 또한 jQuery조차도 외부 JS 라이브러리를 사용하지 않는 것이 좋습니다.
전체
나는 당신이 당신의 자신의 질문에 대답 것 같아요. 삽입 기능에 연결하지 않는 한, 삽입 기능을 감시해야합니다. 이 시점에서 가장 효율적인 방법이 아니라 오버 헤드를 감당할 수 있는지 여부입니다. – isherwood
코드를 실행하는 동안 요소를 추가하지 않으면 코드를 처리하는 동안 청취자를 제거한 다음 완료시 청취자를 추가 할 수 있습니다. – juvian
maybe querySelectorAll ("# a, # b, # c, #d ")는 4 getElementById() 호출보다 빠르다. 아니면 QSA ("[id] ")를 사용하여 세부 사항을 찾을 필요가 있는지 알 수있다. length ... 또한 아마도 self.a가 document.getElementById ("a")보다 빠름 ... – dandavis