2016-09-07 15 views
-2

次のコードを使用して、特定のクラス名がページに存在する場合にのみクラスをスワップします。ifスワッピングクラスの文

$(function() { 
    if ($('.special').length){ 
     $(".tab_item").removeClass("tab_item_color").addClass("tab_item_color"); 
    } 
}); 

だから、英語で:クラス「特別」が存在する場合、.tab_itemを削除し、代わりにtab_item_colorを追加します。

これは私がしたいことです。これは正しく読み込まれますか? swapClassを使用する必要がありますか?

+2

これが正しい読みん*いいえ、それはしません:あなたは、次のことを行うことができますか?。 'tab_item_color'ではなく、' tab_item'を削除しています。 –

+3

Typo?あなたは、同じクラスを削除して削除しています –

+0

toggleClass()またはjQueryUIのswitchClass()を意味しますか?多分私はjQueryのswapClass()を認識していません –

答えて

1

あなたは、コードの下に使用することができ、あなたのような状況を処理するための要素

$(function() { 
    $('.tab_item').each(function(){ 
     if($(this).hasClass("special")){ 
      $(this).removeClass("tab_item").addClass("tab_item_color"); 
     } 
    }); 
}); 

または

$(function() { 
    $('.tab_item.special').removeClass("tab_item").addClass("tab_item_color"); 
}); 
+2

if節にエラーがあります –

+0

@TheOneandOnlyChemistryBlobマーキングのおかげで... –

+1

質問は非常に不明瞭ですが、名前がタブにあります。 –

2

に存在しているspecialクラスを確認する必要があり、「クラスspecialは、現在のドキュメント内に存在する場合、 tab_itemを削除し、代わりにtab_item_colorを追加してください。 *

$(function() { 
 
    if ($('.special').length > 0) //checking count of DOM element with class special 
 
    { 
 
    $(".tab_item").removeClass("tab_item").addClass("tab_item_color"); 
 
    } 
 
});
.tab_item { 
 
    background: none; 
 
} 
 
.tab_item_color { 
 
    background: blue; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<div class="special">div with special class</div> 
 

 
<div class="tab_item">div 1</div> 
 
<div class="tab_item">div 2</div> 
 
<div class="tab_item">div 3</div>