2012-01-14 6 views
0
$("#menu-main > li").add("#menu-main > li > a").removeClass("hover").find("div").hide(); 

<ul id="menu-main"> 
    <li class="hover"> 
    <a class="hover" href="" title="">ABC</a> 

    <div> 
     <ul> 
     <li><a href="" title="">XYZ</a><li> 
     </ul> 
    </div> 
    </li> 

これはうまくいきますが、add()の部分に "#menu-main> li"を繰り返す必要がありますか?jQuery:親とその直接の子供の両方からCSSクラスを削除するには?

+0

あなたのポストにhtmlコードを投稿することができますbackticks( ') – GolezTrol

+0

なぜタイトルは*" ...親とその直接の子の両方から* "ですが、質問は*" ... liの直接アンカーの子のみから* "読みますか? –

+0

また、あなたの質問には ''#menu-main> li> a ""があります。それを試しましたか? –

答えて

1
$("#menu-main > li").add("#menu-main > li > a").removeClass("hover") 

、代わりにあなたが使用することができます

$("#menu-main > li").children('a').andSelf().removeClass("hover") 
+0

私はandSelf()について考えていました。ありがとうThong Kuah! – Bongbong

2

私はあなただけの最初の項目は、あなたが最初のように使うことができますしたい場合は、この

$("#menu-main > li > a").removeClass("hover").find("div").hide(); 
0

を探していると思う:作品

$("#menu-main li a:first").removeClass("hover").find("div").hide(); 
関連する問題