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

chcę dodać:jak zmienić nazwę klasy elementu przez jQuery

.bestanswer 
{ 
    // some attribute 
} 

Chcę zastąpić class="IsBestAnswer" div do class="bestanswer" przez jQuery. Jak to zrobić?

Używam tego podejścia:

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

ale to nie działa.

+0

Zdefiniuj "nie działa". 'addClass' powinno działać dobrze –

Odpowiedz

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

Przypadek w nazwach metod jest ważny, więc nie ma addclass.

jQuery addClass()
jQuery removeClass()

+0

bardzo dziękuję ... –

+8

Jeśli wywołasz go bez parametrów, usunie wszystkie klasy z elementu: np. $ ('# IsBestAnswer'). RemoveClass(). AddClass ("bestanswer"). –

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

Twój kod ma dwa problemy:

  1. Selektor .IsBestAnswe nie pasuje do tego, co myślał
  2. To addClass() nie addclass().

Ponadto, nie jestem pewien, czy chcesz zastąpić klasę lub dodać go. Powyższy zastąpi, ale usunąć .removeClass('IsBestAnswer') udział dodać tylko:

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

Należy zdecydować, czy użyć CamelCase lub all-małe litery w swoich klasach zbyt CSS (np bestAnswer vs. bestanswer).

34

Zamiast removeClass i addClass, można też zrobić to w ten sposób:

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