2010-10-18 14 views
41
<div class="bestAnswerControl"> 
    <div id="ct100_contentplaceholder_lvanswer_control_divbestanswer" 
     class="IsBestAnswer"></div> 
</div> 

ich hinzufügen möchten:wie von jquery Klassenname eines Elements ändern

.bestanswer 
{ 
    // some attribute 
} 

I class="IsBestAnswer" von div class="bestanswer" von jquery ersetzen möchten. Wie mache ich das?

Ich bin mit diesem Ansatz:

$('.IsBestAnswer').addclass('bestanswer'); 

aber es funktioniert nicht.

+0

definieren "nicht funktioniert". 'addClass' sollte gut funktionieren –

Antwort

109
$('.IsBestAnswer').addClass('bestanswer').removeClass('IsBestAnswer'); 

Fall in Methodennamen ist wichtig, also keine addclass.

jQuery addClass()
jQuery removeClass()

+0

vielen dank sir .... –

+8

Wenn Sie es ohne Parameter aufrufen, wird es alle Klassen aus dem Element entfernen: z.B. $ ('# IsBestAnswer'). RemoveClass(). AddClass ('bestanswer'). –

8
$('.IsBestAnswer').removeClass('IsBestAnswer').addClass('bestanswer'); 

Ihr Code hat zwei Probleme:

  1. Der Wähler .IsBestAnswe stimmt nicht überein, was Sie dachten
  2. Es ist addClass(), nicht addclass().

Auch ich bin nicht sicher, ob Sie die Klasse ersetzen möchten oder hinzufügen. Die oben ersetzen, sondern entfernen Sie den .removeClass('IsBestAnswer') Teil nur hinzuzufügen:

$('.IsBestAnswer').addClass('bestanswer'); 

Sie sollten entscheiden, ob Camelcase oder All-Klein in Ihren CSS-Klassen zu verwenden, zu (z bestAnswer vs. bestanswer).

34

Statt removeClass und addClass, können Sie es auch tun, wie folgt aus:

$('.IsBestAnswer').toggleClass('IsBestAnswer bestanswer'); 
Verwandte Themen