2009-12-02 10 views
47

たとえば、div要素が1つで、クラス 'first'に多くのCSSプロパティが定義されているとします。同じプロパティーを別々に定義したCSSクラス 'second'を割り当てることはできますか。あなたがイベントにそれを追加したい場合はjQuery divに変更するCSSクラス

答えて

58
$(".first").addClass("second"); 

、あなたにもそう簡単に行うことができます。クリックイベントでの例:

$(".first").click(function() { 
    $(this).addClass("second"); 
}); 
+1

+1を助けることを願っています。おそらくあなたは彼に2番目のクラスの追加と削除の両方に対するマウスオーバー/マウスアウトの組み合わせを示すことができます:) –

+0

mouseover/mouseoutでクラスを追加/削除するのではなく、:hover cssセレクタを使用してみてください。例:「最初:ホバー」 – WhyNotHugo

30

あなたがそうのようにjQueryを使ってクラスを追加および削除することができます:あなたは空白で区切っすぐにマークアップで複数のクラスを設定することができところで

$(".first").addClass("second") 
// remove a class 
$(".first").removeClass("second") 

<div class="second first"></div> 
87

うん、簡単に。

$("#mydiv").attr("class", "second"); 
+0

ありがとうございました。すべての回答は非常に役に立ちます – eomeroff

+3

これは、divプロパティから最初のクラスを削除して、クラスプロパティを上書きします。ユーザーがdivに 'first'と 'second'の両方のクラスを持たせたいと思っています。 – Annabelle

+0

私は他のクラスが必要なように別の見た目を持つようにdivを使いたいと思っています.Daffで2つのクラスを避けてください(上記のDaffが書いたように)。私は? もう1つ、$( "#mydiv")。attr( "class"、 "second"); このコード行は、addClassとremoveClassの両方を実行していますか? $( "。first")。attr( "class"、 "second")と書くことができます。 ?? – eomeroff

3

これは、私があなたがしたいことを完全にはっきりとしていないため、正確には目標にはなりません。しかし、イベントに応答して別のクラスをdivに割り当てることを前提とすると、答えは「はい」です。これは確かにjQueryで行うことができます。私のコードでは、次の私はjQueryの初心者ですが、私が使用している:あなたは番目のクラスとファーストクラスを交換したい場合は

$(document).ready(function() { 
    $("#someElementID").click(function() { // this is your event 
     $("#divID").addClass("second");  // here your adding the new class 
    )}; 
)}; 

、私が行ったように、あなたが最初にしaddClassをremoveClassを使用すると考えています上記。 toggleClassも一見価値があるかもしれません。 jQueryのドキュメントは、このような変更のための例とよく書かれています。

他の人が私には良い選択肢がありますが、助けてくれることを願っています!

2

divのようなHTML要素は、複数のクラスを持つことができます。 addClassメソッドを使ってdivに2つのスタイルが割り当てられているとしましょう。 style1にfont-size、weight、colorの3つのプロパティがあり、style2にfont-size、weight、color、background-colorの4つのプロパティがある場合、結果として得られる有効なプロパティセット(style)は4つのプロパティ、つまりunionすべてのスタイルセットの私たちのケースでは、共通のプロパティとして、色、フォントサイズ、ウェイト、最新の値で1つのoccueranceがあります。 divにstyle1が最初に割り当てられ、style2がsecondに割り当てられると、共通の属性はstyle2の値によって上書きされます。

さらに、私はUsing JQuery to Apply,Remove and Manage Stylesでポストを書かれている、私はそれがイベントハンドラを実証するためにあなた

よろしく Awais

0
$(document).ready(function() { 

      $("#divId").toggleClass('cssclassname'); // toggle class 
}); 

**OR** 

$(document).ready(function() { 
     $("#objectId").click(function() { // click or other event to change the div class 
       $("#divId").toggleClass("cssclassname");  // toggle class 
     )}; 
)}; 
関連する問題