Подтвердить что ты не робот

JQuery - проверить, отображается ли дочерний div

Я пытаюсь увидеть, является ли дочерний div из li видимым, и если это применит класс к li. Это то, что я получил, но он не работает.

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

Ответ 1

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>
и они должны быть дочерними элементами элемента с идентификатором меню.