jQuery - 检查子div是否可见

11

我想检查li元素下的子div是否可见,如果可见则给li元素应用一个类。这是我的代码,但它并没有起作用。

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

你能展示一下DOM结构吗?全代码会更有帮助,因为this可能是错误的。它指的是什么? - gdoron
1个回答

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

我不知道DOM结构是什么或者this指的是什么,但这个方法也可能起作用:

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

它会将类名为“dropHover”的样式添加到所有具有可见<div>子元素且需要是元素id为“menu”下的<li>元素。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接