2012-05-02 3 views
11

li의 하위 div가 표시되는지 확인하고 li에 하위 클래스가 표시되는지 확인하려고합니다. 이것은 내가 가진 것이지만 작동하지 않습니다.jQuery - 하위 div가 표시되는지 확인

if(jQuery('#menu li').children('div').css('display') != 'none') { 
    jQuery('li', this).addClass('dropHover'); 
} 
+0

DOM 구조를 보여 주실 수 있습니까? 'this'가 잘못되었을 수 있기 때문에 전체 코드가 도움이 될 수 있습니다. 그것은 무엇을 참조합니까? – gdoron

답변

28
if (jQuery('#menu li > div').is(':visible')){ 
    //... 
    jQuery('li', this).addClass('dropHover'); 
} 

나는 DOM 구조 또는 this가 참조 무엇을 해야할지 모르겠지만,이뿐만 아니라 트릭을 할 수 있습니다

jQuery('#menu li:has(div:visible)').addClass('dropHover'); 

그것은 클래스 "dropHover 추가 "모든 <li> 요소는 표시 할 수있는 <div>
이며 메뉴 id가있는 요소의 하위 항목이어야합니다.

관련 문제