2013-04-28 3 views
1
HTML

: 나는 각 리와 UL 목록이숨김 사업부는

이 같은 counstructed :

<li class="A">list-item 
    <div>1</div> 
    <div class="B">2 
     <div class="C">3</div> 
    </div> 

    </li> 
DIV C는 CSS 속성 표시가

: 없음; 나는이 JS 썼다 : 리 호버에 숨겨진 된 div를 보여줍니다

$(".A").hover(function() { 
    $(".C").toggle(); 
    }); 

,하지만 난 활성 리 항목에서만 작업 JS를하고 싶습니다. 그래서 내가 li 항목을 가져 가면 해당 목록 항목 만 숨겨진 div가 표시됩니다.

제안 사항? 나는 js로 새롭다, 그래서 어떤 도움든지 평가 될지도 모르다, thnx!

답변

2

context을 사용하여 원하는 요소의 하위 항목에 대한 검색 범위를 좁히십시오.

$(".A").hover(function() { 
    $(".C", this).toggle(); 
}); 
+0

+1 왜냐하면 그것이 작동하기 때문에 찾기와 BTW를 사용하지 않기 때문입니다. –

+0

@smerny 그것은 매우 과실입니다. 이 차이점은'jQuery'가이 메소드를 제공하지 않는다는 것입니다. –

+1

jQuery가 내부적으로'find()'메소드를 사용하여 선택기 컨텍스트를 적용하기 때문에 무시할만한 차이가없는 이유가 있습니다. –

3

이 같은 시도 뭔가, 그것은

$(".A").hover(function() { 
    $(this).find(".C").toggle(); 
}); 
2

hover() 사용 (요소가 떴다되는 것) this 내에서 클래스 C을 발견 할 것이다, hover 기능의 올바른 형식은 다음과 같습니다

$(".A").hover(
    function() { 
    // A function to execute when the mouse pointer enters the element. 
    $(this).find(".C").show(); 
    }, 
    function() { 
    // A function to execute when the mouse pointer leaves the element. 
    $(this).find(".C").hide(); 
    } 
); 
+0

에 동의합니다. 토글을 사용하면 같은 효과가 나타납니다. http://jsfiddle.net/M3TE9/ – smerny