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

Я хочу добавить:как изменить имя класса элемента с помощью JQuery

.bestanswer 
{ 
    // some attribute 
} 

Я хочу, чтобы заменить class="IsBestAnswer" из дел до class="bestanswer" на JQuery. Как это сделать?

Я использую этот подход:

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

, но это не работает.

+0

Определение "не работает". 'addClass' должен работать нормально –

ответ

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

Дело в именах методов важно, поэтому нет addclass.

jQuery addClass()
jQuery removeClass()

+0

спасибо большое сэр .... –

+8

Если вы вызываете его без параметров, он удалит все классы из этого элемента: например. $ ('# IsBestAnswer'). RemoveClass(). AddClass ('bestanswer'). –

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

Ваш код имеет две проблемы:

  1. Селектор .IsBestAnswe не соответствуют тому, что вы думали
  2. Это addClass(), не addclass().

Кроме того, я не уверен, нужно ли заменить класс или добавить его. Выше заменит, но удалить .removeClass('IsBestAnswer') части только добавить:

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

Вы должны решить, следует ли использовать верблюжий или все-строчный в классах CSS тоже (например bestAnswer против bestanswer).

34

Вместо removeClass и addClass, вы также можете сделать это следующим образом:

$('.IsBestAnswer').toggleClass('IsBestAnswer bestanswer'); 
Смежные вопросы