2012-01-16 8 views
0
if($(this).parents("ul").closest("#menu-main").length){ 
    var parent = $(this).parent(); 

    parent.addClass("current"); 

    if(parent.hasClass("more-options")){ 
    $(parent).siblings(".more-options-page").addClass("current").show(); 
    } 
} 

if文を使ってaddClass()を繰り返すのを忘れないでください。どうすれば最初のクラスに "more-options"クラスの親にshow()を追加できますか?あなたがそう望んだ場合jQuery:これら2つのステートメントを1つに結合する方法は?

答えて

1

、あなたがチェーンに必要なすべての方法がそう(the parent methodにオプションのフィルタを供給)のように呼び出すことができます:

if ($(this).parents("ul").closest("#menu-main").length) { 
    $(this).parent().addClass("current"); 
    $(this).parent(".more-options").show().siblings(".more-options-page").addClass("current").show(); 
} 

更新

はい、それは1行で行うことができ、

if ($(this).parents("ul").closest("#menu-main").length) { 
    $(this).parent().addClass("current").filter(".more-options").show().siblings(".more-options-page").addClass("current").show(); 
} 
+0

2つの別々のステートメントではなく、1つにチェーンすることはできますか? – Bongbong

+0

@Bongbong更新を参照してください! –

+0

ヒントのためにOKありがとう、Rich。 – Bongbong

関連する問題