나는 아래 클래스의 수신기를 가지고 있습니다. (웨이 포인트 플러그인을 사용하고 있습니다) .my-class
입니다. 그러나 $(this).addClass("hello")
을 호출하려고하면 클래스가 있고 수신기를 시작한 개별 div
에 클래스를 추가하지 않습니다."this"는 JQuery 리스너의 div를 나타내지 않을 것입니다.
반면에 $(".my-class").addClass("hello")
을 함수에 호출하면 hello
클래스를 모든 인스턴스에 .my-class
으로 추가합니다. 이는 내가 원하지 않는 것입니다.
나는 this
을 어떻게 사용해야하는지 오해 하느냐 (나는 JS를 처음 사용함)? 리스너를 실행하는 단일 div
을 참조하면 안되며 따라서 해당 div에 클래스를 추가합니까?
$(".my-class").waypoint(function(e) {
$(this).addClass("hello");
})
잘 모르겠습니다. JSFiddle 게시 시도해 주시겠습니까? – RickyAYoder
'$ (this)'가 무엇인지 정확하게 보려면'console.log ($ (this))'를 시도하십시오. 읽을 시간은 조금 길지만 여전히 도움이됩니다. –
jQuery의 표준은 해당 요소를 'this'컨텍스트로 대체 기능을 실행하는 것입니다. 그러나 .waypoint()는 jQuery 핵심 코드가 아닌 플러그인 코드에서 가져온 것이므로이 규칙을 따르지 않을 수 있습니다. 'this' 컨텍스트는 플러그인이 설정 한 것이 될 것입니다. – ajp15243