2011-02-15 23 views
11

例えば:jqueryで特別クラスを別のクラスに置き換えるにはどうすればよいですか?

<li class="dataItem ready igto" status="ready">I will change status to waiting</li> 

とはその後、私はちょうどクラス準備を削除し、新しいクラスを追加するに.theの通常の方法があるを待っ準備クラスを変更したいです!

と別の状況では、一度に複数のクラスを置き換える方法です!例えば:

<!-- replace done wainting error to ready --> 
<li class="dataItem done igto" status="ready">I will change status to ready</li> 
<li class="dataItem waiting igto" status="ready">I will change status to ready</li> 
<li class="dataItem error igto" status="ready">I will change status to ready</li> 

へ:

<li class="dataItem ready igto" status="ready">I will change status to waiting</li> 

ありがとうございました!!

答えて

21

jQueryに「切り替え」クラスがないので、クラスを削除してからもう一度追加するのが最も良い方法です。

$('.dataItem').removeClass('ready').addClass('waiting'); 

あなたは.removeClass()に複数のクラスに渡すことで、複数のクラスを置き換えることができます:あなたはこれを達成するために$.toggleClass()を使用することができます

$('.dataItem').removeClass('done waiting error').addClass('ready'); 
24

$("p").click(function(){ 
    // Replace 'done' with 'waiting' or 'waiting' with 'done' 
    $(this).toggleClass("done waiting"); 
}); 

例:http://jsfiddle.net/wH9x3/

+1

1まず、きれいな。 – JCOC611

+0

信頼できません。いつでも、私たちがそれが欲しくない場合でもトグルします。 – sidney

+0

@sidneyここでポイントは '$ .fn.toggleClass'がどのように動作するかを示すことです。特定の状況下でのみ実行するように条件付きでラップするのは、それを使用する人の責任です。 – Sampson

関連する問題