IT는 $.click()
기능 후에 $.(this)
을 다시 선언 할 수 없습니다? 이 중 어느 것도 작동하는 것 같다 없기 때문에 : foo
법적 식별자 때
$(this) = $(this).find('span');
var $(this) = $(this).find('span');
IT는 $.click()
기능 후에 $.(this)
을 다시 선언 할 수 없습니다? 이 중 어느 것도 작동하는 것 같다 없기 때문에 : foo
법적 식별자 때
$(this) = $(this).find('span');
var $(this) = $(this).find('span');
만 var foo
을 선언 할 수 있습니다.
$(this)
는 가 인수 this
와 $
라는 이름의 함수가 그래서 선언에서 불법입니다를 호출 한 결과입니다.
도 아니다 당신이 this
을 덮어한다 - 그것은 미래에 긁힘 많은 머리의 원인이됩니다! 당신이 원하는 경우
다음 일반적인 규칙을 this
의 jQuery를 버전을 저장하기위한 지역 변수은 다음과 같습니다 (완벽하게 합법적,하지만 때로는 눈살을 찌푸리게) $
접두사 수 있습니다
var $this = $(this);
var $span = $this.find('span');
당신은 변수 기억하기 는 jQuery 객체이며 일반 DOM 요소는 아닙니다.
규칙은 또한 당신이하고의 낭비 (그러나 공통) 오류를 발견 할 수 있다는 :
var jqobj = $(myobj)
myobj
이미 JQuery와 객체 입니다.
식 $(this)
변수 선언되지 않지만 대신 표현이다. 당신이 뭔가를 재 선언 할 경우 실제 식별자에 할당되기 때문에 당신은 최종 버전이 작동하는 변수
var saved = $(this);
saved = $(this).find('span');
이유에 저장하는 것입니다 필요가있다.
$('some').on('click', function() {
var refrence = $(this);
var span = refrence.find('span')
// to override the $this you can use
refrence = refrence.find('span');
});
심각하게, 선언 한 후에'$ this'의 의미를 바꾸지 마십시오 - 장래에 혼동을 일으킬 수도 있습니다. 새로운 변수를 사용하십시오! – Alnitak
@Alnitak 감사합니다. – thecodeparadox
'$ (this)'는 변수가 아닙니다. '$'는 변수이고 함수입니다. (값이 전달 될 때) 값을 리턴합니다. –
이것은 기본적인 자바 스크립트 구문을 이해하고 실제로는 첫눈에 jquery와 관련이 있습니다. 나는 당신이 어떤 문학을 파헤쳐야한다고 말한다. – Yoshi
당신의 도움을 주셔서 고맙습니다. 사실 jQuery 프레임 워크와 자바 스크립트를 조금씩 배우고 있습니다. – Alex