Как заменить специальный класс на другой в jquery?
например:
<li class="dataItem ready igto" status="ready">I will change status to waiting</li>
а затем я просто хочу изменить готовый класс на Ожидание. Обычный путь - удаление класса и добавление нового класса!
, а другая ситуация - как сразу заменить несколько классов!? Например:
<!-- replace done wainting error to ready -->
<li class="dataItem done igto" status="ready">I will change status to ready</li>
<li class="dataItem waiting igto" status="ready">I will change status to ready</li>
<li class="dataItem error igto" status="ready">I will change status to ready</li>
to:
<li class="dataItem ready igto" status="ready">I will change status to waiting</li>
Большое спасибо!
Ответы
Ответ 1
Лучший способ - как вы говорите, удалить класс, а затем добавить его снова, так как в jQuery нет "переключения" классов.
$('.dataItem').removeClass('ready').addClass('waiting');
Вы можете заменить несколько классов, передав более чем один класс в .removeClass()
:
$('.dataItem').removeClass('done waiting error').addClass('ready');
Ответ 2
Вы можете использовать $.toggleClass()
, чтобы достичь этого.
$("p").click(function(){
// Replace 'done' with 'waiting' or 'waiting' with 'done'
$(this).toggleClass("done waiting");
});
Пример: http://jsfiddle.net/wH9x3/