나는 트리 뷰를 표시하는 각도 지시문을 가지고 있습니다. li 아이콘을 클릭하면 중첩 된 UL을 숨겨야합니다. angularjs 지시문, jquery 클래스 선택자가 작동하지 않습니다.
다음은 중요한 코드입니다 :$toggler=$(e.target).closest('li');
if($toggler.hasClass("collapsed")){
$toggler.removeClass("collapsed").addClass("expanded");
} else {
$toggler.removeClass("expanded").addClass("collapsed");
}
$(".collapsed").find("ul").hide();
$(".expanded").find("ul").show();
I 클래스가 제대로 할당 및 삭제되는 디버거에서 볼 수있다 (이 전자가 클릭 이벤트 인 클릭 기능이다). 그러나 처음에는 클래스를 축소 된 것으로 설정 한 첫 번째 LI 세트에서만 작동합니다. 트리의 더 깊은 레벨이 클래스 변경을 표시하지만 선택기가 클래스 변경을 표시하지 않습니다. 흥미롭게도 더 깊은 행을 클릭하면 처음으로 루트 행을 클릭하는 것처럼 작동합니다. 그 후에는 아무것도하지 않습니다.
질문 : 선택기가 작동하지 않는 이유는 무엇입니까? http://plnkr.co/edit/GZ5MZjkir4AaNQmHIxFP?p=preview
아, find는 자식, 그랜드 자식 등을 체인 아래로 반환합니다. 직접적인 자손이 아닙니다. 그 작품! – Snowburnt