2012-05-02 22 views
11

Estoy tratando de ver si el div infantil de una li es visible y si es así, aplicar una clase a la li. Esto es lo que obtuve pero no está funcionando.jQuery - Verifique si div infantil está visible

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

¿Puede mostrarnos la estructura DOM? y el código completo puede ayudar, porque ese 'this' podría estar equivocado. ¿a que se refiere? – gdoron

Respuesta

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

No sé lo que es la estructura del DOM o en qué se refiere a this, pero esto podría hacer el truco, así:

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

Se añade el dropHover clase" "para todos los elementos <li> que tienen un <div> visible
y deben ser elementos secundarios de un elemento con el ID del menú.

Cuestiones relacionadas