2012-05-02 15 views
11

Próbuję sprawdzić, czy div div jest widoczny, a jeśli tak, to zastosuj klasę do li. To jest to, co mam, ale to nie działa.jQuery - Sprawdź, czy div dziecka jest widoczny

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

Czy możesz nam pokazać strukturę DOM? i pełny kod może pomóc, ponieważ to "to" może być złe. do czego to się odnosi? – gdoron

Odpowiedz

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

Nie wiem, jaka jest struktura DOM lub co this dotyczy, ale może to załatwi także:

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

Dodaje klasy „dropHover "do wszystkich elementów <li>, które są widoczne i muszą być elementami podrzędnymi elementu z identyfikatorem menu.

Powiązane problemy