Technical/etc
[JavaScript] Uncaught TypeError: $(...) is not a function
sga8
2020. 9. 24. 08:33
728x90
반응형
실제 발생 에러는 아래와 같음.
발생 원인은 크게 3가지로 나뉜다. 그리고 각 해결책은 아래와 같다.
1. <head> 태그 내 jquery script 선언이 가장 위에 위치하지 않은 경우.
- jquery script 선언부를 <head> 태그 내 상단에 위치하도록 할 것. (전체 코드의 상단이 아님.)
- 아래 예시 사진.
2. jquery 중복 설치/선언 .
- 전체 메인 소스코드에 jquery가 선언되어 있고, 해당 코드 하위에 있는 js에서 다시 jquery를 선언할 때.
- jQuery를 $로 사용하는 것은 국룰이지만, 선언에 따라서 달리 사용할 수 있는게 포인트.
- jQuery.noConflict() 를 사용하여 해결함. 검색해보면 알 수 있음.
- 예시
- 하위 코드에서 아래와 같이 jquery script 선언 후 jQuery alias로 사용한다 !
-
- 위와 같이 jquery alias를 선언 후 기존에 $으로 사용하던 부분을 $js로 사용하여 충돌을 막을 수 있다!
3. jquery 미설치.
- jquery 설치하세요. 검색해보세요
728x90
반응형