2012-05-02 3 views
11

liの子divが表示されているかどうかを確認しています。これは私が持っているものですが、うまくいきません。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を持つ要素の子である必要があります。

関連する問題