2009-12-02 53 views
47

如果我有一個div元素,例如類'first'用許多css屬性定義。我可以分配css class'second',它也有許多不同的屬性,只是在某些事件中對同一個div進行了不同的定義,而無需將每個屬性排成一行。jQuery將css類更改爲div

回答

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

如果您想將其添加到活動中,您也可以輕鬆完成。與點擊事件的一個例子:

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

+1用於演示的事件處理程序。也許你可以向他展示一個mouseover/mouseout組合,同時添加和刪除第二個類:) – 2009-12-02 20:12:07

+0

而不是在mouseover/mouseout上添加/刪除類,請嘗試使用:hover css選擇器。例如:「第一:懸停」。 – WhyNotHugo 2014-04-07 03:27:34

30

您可以用jQuery像這樣添加和刪除類:

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

通過您可以在您的標記設置多個班馬上分開用空格

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

是的,很容易。

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

感謝你們所有的答案都非常有幫助 – eomeroff 2009-12-02 20:18:34

+3

這將覆蓋class屬性,從div中刪除'first'類。我相信用戶希望div有'第一'和'第二'類。 – Annabelle 2009-12-02 20:19:14

+0

在某些事件上,例如點擊,我希望div有不同的外觀,這是我需要其他類的方式,我想避免div上的兩個類「first seconf」(正如Daff上面所寫),因爲我可能會優先考慮。我可以嗎??還有一件事,$(「#mydiv」)。attr(「class」,「second」); 這行代碼是在做addClass和removeClass? 可以寫成$(「。first」)。attr(「class」,「second」); ?? – eomeroff 2009-12-02 20:28:54

3

這可能並不完全符合目標,因爲我不完全清楚你想要做什麼。然而,假設你的意思是你想給一個div分配一個不同的類來響應一個事件,答案是肯定的,你當然可以用jQuery做到這一點。我只是一個jQuery初學者,但我用我的代碼如下:如果你想與第二類,以取代第一類

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

,我相信你會先使用removeClass addClass像我一樣以上。 toggleClass也值得一看。 jQuery文檔是爲這些類型的更改編寫的,並附有示例。

其他人我有一個更好的選擇,但我希望有幫助!

2

像div這樣的HTML元素可以有多個類。假設div使用addClass方法分配了兩種樣式。如果style1有3個屬性,如字體大小,重量和顏色,style2有4個屬性,如字體大小,重量,顏色和背景顏色,我認爲最終的有效屬性集(樣式)將有4個屬性,即聯合所有樣式集。在我們的例子中,常見的屬性,顏色,字體大小,重量,將有一個包含最新值的occuerance。如果div被分配了style1 first和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 
     )}; 
)};