2014-04-19 4 views
0

A 요소, 즉 A의 클래스가 .activeLesson이 될 때 B 요소를 선택하려고합니다. B 요소를 선택해야합니다. 어떻게해야합니까?다른 요소를 기준으로 요소 선택

<ul class=""> 
    <li>L4</li> 
    <li>L5</li> 
    <li class="lastChild">L5</li> 
</ul> 

<article class="active"></article> 

마지막으로 리 클래스가 지금 의미를 그

합니까 '비활성'에서 '활성'에서 문서 클래스를 변경하려면 (일부 JQuery와 사용) '를 lastchild'느끼는 동안?

+0

나는이 $ 사용을 ('. : 마지막 child.activeLesson lessonNavigation 리튬을')이없는 <li> 경우 그 반대를한다. 하지만이 기초를 기준으로 다른 요소를 선택하는 방법을 모르겠다 –

+0

클래스 값이 변경되었을 때 자바 스크립트 알림을 얻는 방법을 알고있는 유일한 방법은 [MutationObserver] (https : //developer.mozilla .org/ko-ko/docs/Web/API/MutationObserver) 특히 브라우저 간은 아닙니다 (IE에서 작동하려면 IE11 이상 필요). 그 외에는 타이머를 사용하여 투표해야 할 것입니다. jQuery 이벤트 핸들러는 클래스가 추가 될 때 갑자기 시작되지 않습니다. 그것은 이벤트 처리기 또는 jQuery 객체가 작동하는 방식이 아닙니다. 내가 너라면, 접근 방식을 재고하고 클래스를 변경하는 코드를 가지고 알림 자체를 트리거 할 수 있습니다. – jfriend00

+0

당신이 여기 StackOverflow에 대해 비교적 새로운 것을 보았을 것입니다. 따라서 HTML이없고 코드가없고 실제 목표에 대한 설명이 전혀 없기 때문에 질문과 관련이없는 질문은 매우 유용한 대답을 거의 얻지 못한다는 것을 이해해야합니다. 좋은 쇼케이스 솔루션을 제공하기에 충분한 문맥. – jfriend00

답변

0

다른 코드 바로 다음에 할 수 있습니까?

// adds the class 'lastChild' to the last li 
$('li').last().addClass('lastChild') 
// switches article from .active to .inactive 
$('article').removeClass('active').addClass('inactive') 
+0

고마워요. jshanley 하지만 리의 마지막 아이가 jQuery 기사를 사용하여 일부 클래스 ('lastchild')에서 일부 클래스를 비활성화해야하므로 '비활성'으로 지정해야합니다. 'lastchild'클래스가 제거되면 '비활성'도 제거해야합니다. –

+0

@ user2854447, 내 대답을 확인하십시오 –

0

당신은 setInterval을 사용할 수 있습니다.

setInterval(function() { 
    if ($('li').is('.lastChild')) { 
     $('article').addClass('inactive').removeClass('active'); 
    } else { 
     $('article').addClass('active').removeClass('inactive'); 
    } 
}, 1000); 

여기서 함수는 매초마다 실행됩니다. 이 함수는 lastChild 클래스에 대해 <li>을 차례로 확인하고 있으면이 함수를 비활성화하고 활성 클래스를 제거합니다.

IT는 .lastChild 클래스

+0

setInterval을 사용하는 데 필요한가요? –

+0

예, 변경 사항을 자주 확인합니다. –

관련 문제