오늘 오늘 나는 this question으로 대답했습니다. 질문은 label
요소의 클래스를 jQuery로 토글하는 것에 관한 것입니다.레이블 요소가있는 toggleClass의 이상한 동작
<label id="test">Test <input type="checkbox"></label>
그리고 다음 jQuery를 : 나는 label
클릭하면
$("#test").click(function() {
$(this).toggleClass("testClass");
});
내가 (이 것을하지 않는 한 testClass
클래스는 해당 요소에 적용 할 기대할 수있는 다음과 같은 HTML을 고려 클래스가로드 될 때). 그러나 아무 일도 일어나지 않습니다. 직접보기 here. Internet Explorer에서 시도하지는 않았지만 Chrome이나 Firefox에서 제대로 작동하지 않습니다. 나는 그것이 이전에 링크 된 질문에서 IE에서 작동한다고 믿습니다.
toggleClass
method in the jQuery source을 따라 가면서 클래스가 추가되고 곧바로 제거됩니다. 당신이 label
의 외부 input
요소를 이동하는 경우 예상대로
는, 클래스가 추가됩니다 : 당신은 행동 here에 하나를 볼 수 있습니다
<label id="test" for="cb">Test</label>
<input type="checkbox" id="cb">
. 그래서, 내 질문은 왜 첫 번째 예제는 첫 번째 클릭에 클래스를 추가하지 않는 것입니까? 나는 뻔뻔스럽게 명백한 것을 놓치고 있습니까?
Ahh는 내가 그렇게 생각하지 않았다는 것을 믿을 수 없다! 감사 :) –